CMakeLists.txt 2.5 KB

INCLUDE_DIRECTORIES(
  ${CMAKE_SOURCE_DIR}/src/server/spserver
)

ADD_SUBDIRECTORY(spserver)
ADD_SUBDIRECTORY(services)

########################################################
# Files
SET (DMAP_SERVER_SRCS
  dmpserver.cpp
  #dmpservice.cpp
  dmpservicenativeloader.cpp
  dmpserviceregistry.cpp
  dmpserverresponse.cpp
  dmpserverrequest.cpp
  dmpserverparameters.cpp
  dmpserverinterface.cpp
  dmpserverfilter.cpp
  dmprequesthandler.cpp
  dmpserverinterfaceimpl.cpp
  dmpfilterresponsedecorator.cpp
  dmpserverplugins.cpp
  dmpserverutils.cpp
  python/dmpserverwrapper.cpp
  python/dmppythonutils.cpp
)

SET (DMAP_SERVER_HDRS
  dmpserver.h
  dmpservice.h
  dmpservicenativeloader.h
  dmpserviceregistry.h
  dmpservicemodule.h
  dmpserverresponse.h
  dmpserverrequest.h
  dmpserverparameters.h
  dmpserverinterface.h
  dmpserverfilter.h
  dmprequesthandler.h
  dmpserverinterfaceimpl.h
  dmpfilterresponsedecorator.h
  dmpserverplugins.h
  dmpserverutils.h
  python/dmppythonutils.h
)

#############################################################
# dmap_server library

INCLUDE_DIRECTORIES(
  ${CMAKE_SOURCE_DIR}/src/core
)

INCLUDE_DIRECTORIES(SYSTEM
  ${PYTHON_INCLUDE_PATH}
)
ADD_LIBRARY(dmap_server SHARED ${DMAP_SERVER_SRCS} ${DMAP_SERVER_HDRS})

target_link_libraries(dmap_server 
  dmap_core
  ${Boost_LIBRARIES} 
  Boost::regex
  ${PYTHON_LIBRARIES}
  dl)

IF (WITH_BINDINGS)
  TARGET_LINK_LIBRARIES(dmap_server 
  Boost::${DMAP_BOOST_PYTHON_FOUND}
  )
ENDIF(WITH_BINDINGS)

set_target_properties(dmap_server
  PROPERTIES
    POSITION_INDEPENDENT_CODE 1
    CXX_VISIBILITY_PRESET hidden
    VISIBILITY_INLINES_HIDDEN 1
    #VERSION ${COMPLETE_VERSION}
    #SOVERSION ${COMPLETE_VERSION}
  )
  
generate_export_header(
  dmap_server
  BASE_NAME SERVER
  EXPORT_FILE_NAME "${CMAKE_BINARY_DIR}/${INSTALL_INCLUDEDIR}/dmap_server.h"
)


target_include_directories(dmap_server
  PUBLIC
    ${CMAKE_BINARY_DIR}/${INSTALL_INCLUDEDIR}
  )
  MESSAGE(STATUS "dmap_server path: ${CMAKE_BINARY_DIR}/${INSTALL_INCLUDEDIR}")

add_executable(dmap_spserv 
  dmap_spserv.cpp 
  dmpspserverrequest.h
  dmpspserverresponse.h
  dmpspserverrequest.cpp
  dmpspserverresponse.cpp
)

target_link_libraries(dmap_spserv
  spserver
  dmap_server
 )

########################################################
# Install

INSTALL(TARGETS dmap_server
  RUNTIME DESTINATION ${DMAP_BIN_DIR}
  LIBRARY DESTINATION ${DMAP_LIB_DIR}
  ARCHIVE DESTINATION ${DMAP_LIB_DIR}
  PUBLIC_HEADER DESTINATION ${DMAP_INCLUDE_DIR}
)

INSTALL(TARGETS dmap_spserv
  DESTINATION ${DMAP_BIN_DIR}
)