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