CMakeLists.txt 1.5 KB

find_package(Boost 1.75 REQUIRED COMPONENTS log_setup)
find_package(Boost 1.75 REQUIRED COMPONENTS log)
############################################################
# sources

SET(DMAP_CORE_SRCS
  dmpapplication.cpp
  dmplogger.cpp
)

SET(DMAP_CORE_HDRS
  dmpapplication.h
  dmplogger.h
)

ADD_LIBRARY(dmap_core SHARED ${DMAP_CORE_SRCS} ${DMAP_CORE_HDRS})

target_link_libraries(dmap_core 
PUBLIC
  ${Boost_LIBRARIES} 
  Boost::log_setup
  Boost::log
  dl)

set_target_properties(dmap_core
  PROPERTIES
    POSITION_INDEPENDENT_CODE 1
    CXX_VISIBILITY_PRESET hidden
    VISIBILITY_INLINES_HIDDEN 1
    #VERSION ${COMPLETE_VERSION}
    #SOVERSION ${COMPLETE_VERSION}
  )

include(GenerateExportHeader)
generate_export_header(
  dmap_core
  BASE_NAME CORE
  EXPORT_FILE_NAME "${CMAKE_BINARY_DIR}/${INSTALL_INCLUDEDIR}/dmap_core.h"
)

SET(DMAP_CORE_HDRS ${DMAP_CORE_HDRS} ${CMAKE_BINARY_DIR}/${INSTALL_INCLUDEDIR}/dmap_core.h)

target_include_directories(dmap_core
  PUBLIC
    ${CMAKE_BINARY_DIR}/${INSTALL_INCLUDEDIR}
  )


#file(COPY  ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/dmap_server.so DESTINATION ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/python/dmap)

FILE(COPY log.config DESTINATION .)
############################################################
INSTALL(FILES
  log.config
  DESTINATION ${DMAP_BIN_DIR}
)

INSTALL(FILES ${DMAP_CORE_HDRS} DESTINATION ${DMAP_INCLUDE_DIR})

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