9c08d764d49be4f5644761bd72c780b34ce51ae9
[platform/core/security/security-server.git] / src / CMakeLists.txt
1 PKG_CHECK_MODULES(SECURITY_SERVER_DEP
2     dlog
3     openssl
4     libsmack
5     libprivilege-control
6     libsystemd-daemon
7     REQUIRED
8     )
9
10 SET(SECURITY_SERVER_PATH ${PROJECT_SOURCE_DIR}/src)
11 SET(SERVER2_PATH ${PROJECT_SOURCE_DIR}/src/server)
12
13 SET(SECURITY_SERVER_SOURCES
14     ${SERVER2_PATH}/main/security-server-util.cpp
15     ${SERVER2_PATH}/main/generic-socket-manager.cpp
16     ${SERVER2_PATH}/main/socket-manager.cpp
17     ${SERVER2_PATH}/main/server2-main.cpp
18     ${SERVER2_PATH}/service/data-share.cpp
19     ${SERVER2_PATH}/service/get-gid.cpp
20     ${SERVER2_PATH}/service/cookie.cpp
21     ${SERVER2_PATH}/service/cookie-jar.cpp
22     ${SERVER2_PATH}/service/cookie-common.cpp
23     ${SERVER2_PATH}/service/privilege-by-pid.cpp
24     ${SERVER2_PATH}/service/password.cpp
25     ${SERVER2_PATH}/service/password-file.cpp
26     ${SERVER2_PATH}/service/password-manager.cpp
27     ${SERVER2_PATH}/service/password-file-buffer.cpp
28     ${SERVER2_PATH}/service/smack-common.cpp
29     )
30
31 SET_SOURCE_FILES_PROPERTIES(
32     ${SECURITY_SERVER_SOURCES}
33     PROPERTIES
34         COMPILE_FLAGS "-D_GNU_SOURCE -fvisibility=hidden")
35
36 INCLUDE_DIRECTORIES(SYSTEM
37     ${SECURITY_SERVER_DEP_INCLUDE_DIRS}
38     )
39
40 INCLUDE_DIRECTORIES(
41     ${SECURITY_SERVER_PATH}/include
42     ${SERVER2_PATH}/main
43     ${SERVER2_PATH}/common
44     ${SERVER2_PATH}/service
45     ${SERVER2_PATH}/dpl/core/include
46     ${SERVER2_PATH}/dpl/log/include
47     )
48
49 ADD_EXECUTABLE(${TARGET_SECURITY_SERVER} ${SECURITY_SERVER_SOURCES})
50
51 TARGET_LINK_LIBRARIES(${TARGET_SECURITY_SERVER}
52     ${SECURITY_SERVER_DEP_LIBRARIES}
53     ${TARGET_SERVER_COMMON}
54     -lcap
55     )
56
57 ################################################################################
58
59 SET(SECURITY_CLIENT_VERSION_MAJOR 1)
60 SET(SECURITY_CLIENT_VERSION ${SECURITY_CLIENT_VERSION_MAJOR}.0.1)
61
62 INCLUDE_DIRECTORIES(
63     ${SERVER2_PATH}/client
64     ${SERVER2_PATH}/common
65     ${SERVER2_PATH}/dpl/core/include
66     ${SERVER2_PATH}/dpl/log/include
67     )
68
69 SET(SECURITY_CLIENT_SOURCES
70     ${SERVER2_PATH}/client/client-common.cpp
71     ${SERVER2_PATH}/client/client-shared-memory.cpp
72     ${SERVER2_PATH}/client/client-get-gid.cpp
73     ${SERVER2_PATH}/client/client-cookie.cpp
74     ${SERVER2_PATH}/client/client-privilege-by-pid.cpp
75     ${SERVER2_PATH}/client/client-socket-privilege.cpp
76     ${SERVER2_PATH}/client/client-password.cpp
77     )
78
79 ADD_LIBRARY(${TARGET_SECURITY_CLIENT} SHARED ${SECURITY_CLIENT_SOURCES})
80
81 SET_TARGET_PROPERTIES(
82     ${TARGET_SECURITY_CLIENT}
83     PROPERTIES
84         COMPILE_FLAGS "-D_GNU_SOURCE -fPIC -fvisibility=hidden"
85         SOVERSION ${SECURITY_CLIENT_VERSION_MAJOR}
86         VERSION ${SECURITY_CLIENT_VERSION}
87     )
88
89 TARGET_LINK_LIBRARIES(${TARGET_SECURITY_CLIENT}
90     ${SECURITY_SERVER_DEP_LIBRARIES}
91     ${TARGET_SERVER_COMMON}
92     )
93
94 ################################################################################
95
96 SET(SECURITY_MANAGER_CLIENT_VERSION_MAJOR 1)
97 SET(SECURITY_MANAGER_CLIENT_VERSION ${SECURITY_MANAGER_CLIENT_VERSION_MAJOR}.0.1)
98
99 INCLUDE_DIRECTORIES(
100     ${SERVER2_PATH}/client
101     ${SERVER2_PATH}/common
102     ${SERVER2_PATH}/dpl/core/include
103     ${SERVER2_PATH}/dpl/log/include
104     )
105
106 SET(SECURITY_MANAGER_CLIENT_SOURCES
107     ${SERVER2_PATH}/client/client-security-manager.cpp
108     ${SERVER2_PATH}/client/client-common.cpp
109     )
110
111 ADD_LIBRARY(${TARGET_SECURITY_MANAGER_CLIENT} SHARED ${SECURITY_MANAGER_CLIENT_SOURCES})
112
113 SET_TARGET_PROPERTIES(
114     ${TARGET_SECURITY_MANAGER_CLIENT}
115     PROPERTIES
116         COMPILE_FLAGS "-D_GNU_SOURCE -fPIC -fvisibility=hidden"
117         SOVERSION ${SECURITY_MANAGER_CLIENT_VERSION_MAJOR}
118         VERSION ${SECURITY_MANAGER_CLIENT_VERSION}
119     )
120
121 TARGET_LINK_LIBRARIES(${TARGET_SECURITY_MANAGER_CLIENT}
122     ${SECURITY_SERVER_DEP_LIBRARIES}
123     ${TARGET_SERVER_COMMON}
124     )
125
126 ################################################################################
127
128 INSTALL(TARGETS ${TARGET_SECURITY_CLIENT} DESTINATION ${LIB_INSTALL_DIR})
129 INSTALL(TARGETS ${TARGET_SECURITY_MANAGER_CLIENT} DESTINATION ${LIB_INSTALL_DIR})
130
131 INSTALL(TARGETS ${TARGET_SECURITY_SERVER} DESTINATION bin)
132
133 INSTALL(FILES
134     ${SECURITY_SERVER_PATH}/include/security-server.h
135     DESTINATION  ${INCLUDE_INSTALL_DIR}/security-server
136     )
137
138 INSTALL(FILES
139     ${SECURITY_SERVER_PATH}/include/security-manager.h
140     DESTINATION  ${INCLUDE_INSTALL_DIR}/security-manager
141     )
142
143 ################################################################################
144
145 #CONFIGURE_FILE(security-server.pc.in security-server.pc @ONLY)
146 #INSTALL
147
148 ################################################################################
149
150 ADD_SUBDIRECTORY(server)