-PKG_CHECK_MODULES(COMMON_DEP
- dlog
+PKG_CHECK_MODULES(SERVER_DEP
REQUIRED
+ libsystemd-daemon
+ cynara-client
)
-SET(COMMON_PATH ${PROJECT_SOURCE_DIR}/src/server)
-
-SET(COMMON_SOURCES
- ${COMMON_PATH}/common/protocols.cpp
- ${COMMON_PATH}/common/message-buffer.cpp
- ${COMMON_PATH}/common/smack-check.cpp
- ${COMMON_PATH}/dpl/log/src/abstract_log_provider.cpp
- ${COMMON_PATH}/dpl/log/src/dlog_log_provider.cpp
- ${COMMON_PATH}/dpl/log/src/log.cpp
- ${COMMON_PATH}/dpl/log/src/old_style_log_provider.cpp
- ${COMMON_PATH}/dpl/log/src/audit-smack-log.cpp
- ${COMMON_PATH}/dpl/core/src/assert.cpp
- ${COMMON_PATH}/dpl/core/src/binary_queue.cpp
- ${COMMON_PATH}/dpl/core/src/colors.cpp
- ${COMMON_PATH}/dpl/core/src/exception.cpp
- ${COMMON_PATH}/dpl/core/src/noncopyable.cpp
- ${COMMON_PATH}/dpl/core/src/serialization.cpp
- ${COMMON_PATH}/dpl/core/src/singleton.cpp
- )
+FIND_PACKAGE(Boost REQUIRED COMPONENTS program_options)
+FIND_PACKAGE(Threads REQUIRED)
INCLUDE_DIRECTORIES(SYSTEM
- ${COMMON_DEP_INCLUDE_DIRS}
+ ${SERVER_DEP_INCLUDE_DIRS}
+ ${Boost_INCLUDE_DIRS}
+ ${Threads_INCLUDE_DIRS}
)
INCLUDE_DIRECTORIES(
- ${COMMON_PATH}/common
- ${COMMON_PATH}/dpl/core/include
- ${COMMON_PATH}/dpl/log/include
+ ${INCLUDE_PATH}
+ ${COMMON_PATH}/include
+ ${SERVER_PATH}/main/include
+ ${SERVER_PATH}/service/include
+ ${DPL_PATH}/core/include
+ ${DPL_PATH}/log/include
)
-ADD_LIBRARY(${TARGET_SERVER_COMMON} SHARED ${COMMON_SOURCES})
-
-SET_TARGET_PROPERTIES(
- ${TARGET_SERVER_COMMON}
- PROPERTIES
- COMPILE_FLAGS "-D_GNU_SOURCE -fPIC -fvisibility=default"
- SOVERSION 1.0.0
- VERSION 1.0.0
+SET(SERVER_SOURCES
+ ${SERVER_PATH}/main/generic-socket-manager.cpp
+ ${SERVER_PATH}/main/socket-manager.cpp
+ ${SERVER_PATH}/main/server-main.cpp
+ ${SERVER_PATH}/service/base-service.cpp
+ ${SERVER_PATH}/service/service.cpp
+ ${SERVER_PATH}/service/master-service.cpp
)
-TARGET_LINK_LIBRARIES(${TARGET_SERVER_COMMON}
- ${COMMON_DEP_LIBRARIES}
- )
+ADD_EXECUTABLE(${TARGET_SERVER} ${SERVER_SOURCES})
-################################################################################
+SET_TARGET_PROPERTIES(${TARGET_SERVER}
+ PROPERTIES
+ COMPILE_FLAGS "-D_GNU_SOURCE -fvisibility=hidden")
-INSTALL(TARGETS ${TARGET_SERVER_COMMON} DESTINATION lib)
+TARGET_LINK_LIBRARIES(${TARGET_SERVER}
+ ${TARGET_COMMON}
+ ${CMAKE_THREAD_LIBS_INIT}
+ ${SERVER_DEP_LIBRARIES}
+ ${Boost_LIBRARIES}
+ )
+INSTALL(TARGETS ${TARGET_SERVER} DESTINATION ${BIN_INSTALL_DIR})