914902f0ccd433ac81e05ad1c45acb71b9f36b62
[platform/core/security/security-manager.git] / src / server / CMakeLists.txt
1 PKG_CHECK_MODULES(SERVER_DEP
2     REQUIRED
3     libcap
4     libsmack
5     libsystemd-daemon
6     libtzplatform-config
7     sqlite3
8     db-util
9     cynara-admin
10     cynara-client
11     )
12
13 FIND_PACKAGE(Boost REQUIRED)
14 FIND_PACKAGE(Threads REQUIRED)
15
16 INCLUDE_DIRECTORIES(SYSTEM
17     ${SERVER_DEP_INCLUDE_DIRS}
18     ${Boost_INCLUDE_DIRS}
19     ${Threads_INCLUDE_DIRS}
20     )
21
22 INCLUDE_DIRECTORIES(
23     ${INCLUDE_PATH}
24     ${COMMON_PATH}/include
25     ${SERVER_PATH}/include
26     ${SERVER_PATH}/main/include
27     ${SERVER_PATH}/service/include
28     ${SERVER_PATH}/db/include
29     ${DPL_PATH}/core/include
30     ${DPL_PATH}/log/include
31     ${DPL_PATH}/db/include
32     )
33
34 SET(SERVER_SOURCES
35     ${SERVER_PATH}/smack-check.cpp
36     ${SERVER_PATH}/main/generic-socket-manager.cpp
37     ${SERVER_PATH}/main/socket-manager.cpp
38     ${SERVER_PATH}/main/server-main.cpp
39     ${SERVER_PATH}/service/service.cpp
40     ${SERVER_PATH}/service/smack-rules.cpp
41     ${SERVER_PATH}/service/smack-labels.cpp
42     ${SERVER_PATH}/service/cynara.cpp
43     ${SERVER_PATH}/db/privilege_db.cpp
44     ${DPL_PATH}/core/src/errno_string.cpp
45     ${DPL_PATH}/core/src/string.cpp
46     ${DPL_PATH}/db/src/naive_synchronization_object.cpp
47     ${DPL_PATH}/db/src/sql_connection.cpp
48     )
49
50 ADD_EXECUTABLE(${TARGET_SERVER} ${SERVER_SOURCES})
51
52 SET_TARGET_PROPERTIES(${TARGET_SERVER}
53     PROPERTIES
54         COMPILE_FLAGS "-D_GNU_SOURCE -fvisibility=hidden")
55
56 TARGET_LINK_LIBRARIES(${TARGET_SERVER}
57     ${TARGET_COMMON}
58     ${CMAKE_THREAD_LIBS_INIT}
59     ${SERVER_DEP_LIBRARIES}
60     )
61
62 ADD_CUSTOM_COMMAND(
63     OUTPUT ${TARGET_DB} ${TARGET_DB}-journal
64     COMMAND sqlite3 ${TARGET_DB} <db/db.sql
65     )
66
67 # Add a dummy build target to trigger building of ${TARGET_DB}
68 ADD_CUSTOM_TARGET(DB ALL DEPENDS ${TARGET_DB})
69
70 INSTALL(TARGETS ${TARGET_SERVER} DESTINATION ${BIN_INSTALL_DIR})
71 INSTALL(FILES ${TARGET_DB} DESTINATION ${DB_INSTALL_DIR})
72 INSTALL(FILES ${TARGET_DB}-journal DESTINATION ${DB_INSTALL_DIR})