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