1 PKG_CHECK_MODULES(KEY_MANAGER_DEP
12 PKG_CHECK_MODULES(KEY_MANAGER_CLIENT_DEP
17 FIND_PACKAGE(Threads REQUIRED)
19 SET(KEY_MANAGER_SRC_PATH ${PROJECT_SOURCE_DIR}/src)
20 SET(KEY_MANAGER_PATH ${PROJECT_SOURCE_DIR}/src/manager)
22 SET(KEY_MANAGER_SOURCES
23 ${KEY_MANAGER_PATH}/main/generic-socket-manager.cpp
24 ${KEY_MANAGER_PATH}/main/socket-manager.cpp
25 ${KEY_MANAGER_PATH}/main/key-manager-main.cpp
26 ${KEY_MANAGER_PATH}/service/certificate-store.cpp
27 ${KEY_MANAGER_PATH}/service/certificate-config.cpp
28 ${KEY_MANAGER_PATH}/service/digest.cpp
29 ${KEY_MANAGER_PATH}/service/file-lock.cpp
30 ${KEY_MANAGER_PATH}/service/access-control.cpp
31 ${KEY_MANAGER_PATH}/service/ckm-service.cpp
32 ${KEY_MANAGER_PATH}/service/ckm-logic.cpp
33 ${KEY_MANAGER_PATH}/service/key-provider.cpp
34 ${KEY_MANAGER_PATH}/service/ocsp.cpp
35 ${KEY_MANAGER_PATH}/service/crypto-logic.cpp
36 ${KEY_MANAGER_PATH}/service/CryptoService.cpp
37 ${KEY_MANAGER_PATH}/service/file-system.cpp
38 ${KEY_MANAGER_PATH}/service/db-crypto.cpp
39 ${KEY_MANAGER_PATH}/service/ocsp-service.cpp
40 ${KEY_MANAGER_PATH}/service/ocsp-logic.cpp
41 ${KEY_MANAGER_PATH}/listener/listener-thread.cpp
42 ${KEY_MANAGER_PATH}/dpl/core/src/assert.cpp
43 ${KEY_MANAGER_PATH}/dpl/db/src/sql_connection.cpp
44 ${KEY_MANAGER_PATH}/dpl/db/src/naive_synchronization_object.cpp
45 ${KEY_MANAGER_PATH}/sqlcipher/sqlcipher.c
48 # -fPIE and -pie flag is added for ASLR
49 SET_SOURCE_FILES_PROPERTIES(
50 ${KEY_MANAGER_SOURCES}
52 COMPILE_FLAGS "-D_GNU_SOURCE -fvisibility=hidden -fPIE")
54 INCLUDE_DIRECTORIES(SYSTEM
55 ${KEY_MANAGER_DEP_INCLUDE_DIRS}
59 ${KEY_MANAGER_SRC_PATH}/include
60 ${KEY_MANAGER_PATH}/main
61 ${KEY_MANAGER_PATH}/common
62 ${KEY_MANAGER_PATH}/service
63 ${KEY_MANAGER_PATH}/listener
64 ${KEY_MANAGER_PATH}/sqlcipher
65 ${KEY_MANAGER_PATH}/dpl/core/include
66 ${KEY_MANAGER_PATH}/dpl/log/include
67 ${KEY_MANAGER_PATH}/dpl/db/include
70 ADD_EXECUTABLE(${TARGET_KEY_MANAGER} ${KEY_MANAGER_SOURCES})
72 # pie flag is added for ASLR
73 TARGET_LINK_LIBRARIES(${TARGET_KEY_MANAGER}
74 ${CMAKE_THREAD_LIBS_INIT}
75 ${KEY_MANAGER_DEP_LIBRARIES}
76 ${TARGET_KEY_MANAGER_COMMON}
77 ${TARGET_KEY_MANAGER_CONTROL_CLIENT}
81 ################################################################################
83 SET(KEY_MANAGER_CLIENT_VERSION_MAJOR 1)
84 SET(KEY_MANAGER_CLIENT_VERSION ${KEY_MANAGER_CLIENT_VERSION_MAJOR}.0.1)
86 SET(KEY_MANAGER_CLIENT_SRC_PATH ${KEY_MANAGER_PATH}/client)
87 SET(KEY_MANAGER_CLIENT_ASYNC_SRC_PATH ${KEY_MANAGER_PATH}/client-async)
88 SET(KEY_MANAGER_CLIENT_CAPI_SRC_PATH ${KEY_MANAGER_PATH}/client-capi)
90 INCLUDE_DIRECTORIES(SYSTEM
91 ${KEY_MANAGER_CLIENT_DEP_INCLUDE_DIRS}
95 ${KEY_MANAGER_PATH}/client
96 ${KEY_MANAGER_PATH}/client-async
97 ${KEY_MANAGER_PATH}/client-capi
98 ${KEY_MANAGER_PATH}/common
99 ${KEY_MANAGER_PATH}/dpl/core/include
100 ${KEY_MANAGER_PATH}/dpl/log/include
103 SET(KEY_MANAGER_CLIENT_SOURCES
104 ${KEY_MANAGER_CLIENT_SRC_PATH}/client-common.cpp
105 ${KEY_MANAGER_CLIENT_SRC_PATH}/client-error.cpp
106 ${KEY_MANAGER_CLIENT_SRC_PATH}/client-manager-impl.cpp
107 ${KEY_MANAGER_CLIENT_ASYNC_SRC_PATH}/client-manager-async.cpp
108 ${KEY_MANAGER_CLIENT_ASYNC_SRC_PATH}/client-manager-async-impl.cpp
109 ${KEY_MANAGER_CLIENT_ASYNC_SRC_PATH}/connection-thread.cpp
110 ${KEY_MANAGER_CLIENT_ASYNC_SRC_PATH}/async-request.cpp
111 ${KEY_MANAGER_CLIENT_ASYNC_SRC_PATH}/service.cpp
112 ${KEY_MANAGER_CLIENT_ASYNC_SRC_PATH}/storage-receiver.cpp
113 ${KEY_MANAGER_CLIENT_ASYNC_SRC_PATH}/ocsp-receiver.cpp
114 ${KEY_MANAGER_CLIENT_ASYNC_SRC_PATH}/descriptor-set.cpp
115 ${KEY_MANAGER_CLIENT_CAPI_SRC_PATH}/ckmc-type.cpp
116 ${KEY_MANAGER_CLIENT_CAPI_SRC_PATH}/ckmc-error.cpp
117 ${KEY_MANAGER_CLIENT_CAPI_SRC_PATH}/ckmc-manager.cpp
118 ${KEY_MANAGER_CLIENT_CAPI_SRC_PATH}/ckmc-type-converter.cpp
121 ADD_LIBRARY(${TARGET_KEY_MANAGER_CLIENT} SHARED ${KEY_MANAGER_CLIENT_SOURCES})
123 SET_TARGET_PROPERTIES(
124 ${TARGET_KEY_MANAGER_CLIENT}
126 COMPILE_FLAGS "-D_GNU_SOURCE -fPIC -fvisibility=hidden"
127 SOVERSION ${KEY_MANAGER_CLIENT_VERSION_MAJOR}
128 VERSION ${KEY_MANAGER_CLIENT_VERSION}
131 TARGET_LINK_LIBRARIES(${TARGET_KEY_MANAGER_CLIENT}
132 ${KEY_MANAGER_CLIENT_DEP_LIBRARIES}
133 ${TARGET_KEY_MANAGER_COMMON}
136 ################################################################################
138 SET(KEY_MANAGER_CONTROL_CLIENT_VERSION_MAJOR 1)
139 SET(KEY_MANAGER_CONTROL_CLIENT_VERSION ${KEY_MANAGER_CONTROL_CLIENT_VERSION_MAJOR}.0.1)
141 SET(KEY_MANAGER_CONTROL_CLIENT_SRC_PATH ${KEY_MANAGER_PATH}/client)
142 SET(KEY_MANAGER_CONTROL_CLIENT_CAPI_SRC_PATH ${KEY_MANAGER_PATH}/client-capi)
145 ${KEY_MANAGER_PATH}/client
146 ${KEY_MANAGER_PATH}/client-capi
147 ${KEY_MANAGER_PATH}/common
148 ${KEY_MANAGER_PATH}/dpl/core/include
149 ${KEY_MANAGER_PATH}/dpl/log/include
152 SET(KEY_MANAGER_CONTROL_CLIENT_SOURCES
153 ${KEY_MANAGER_CONTROL_CLIENT_SRC_PATH}/client-control.cpp
154 ${KEY_MANAGER_CONTROL_CLIENT_SRC_PATH}/client-common.cpp
155 ${KEY_MANAGER_CONTROL_CLIENT_CAPI_SRC_PATH}/ckmc-control.cpp
156 ${KEY_MANAGER_CONTROL_CLIENT_CAPI_SRC_PATH}/ckmc-type-converter.cpp
159 ADD_LIBRARY(${TARGET_KEY_MANAGER_CONTROL_CLIENT} SHARED ${KEY_MANAGER_CONTROL_CLIENT_SOURCES})
161 SET_TARGET_PROPERTIES(
162 ${TARGET_KEY_MANAGER_CONTROL_CLIENT}
164 COMPILE_FLAGS "-D_GNU_SOURCE -fPIC -fvisibility=hidden"
165 SOVERSION ${KEY_MANAGER_CONTROL_CLIENT_VERSION_MAJOR}
166 VERSION ${KEY_MANAGER_CONTROL_CLIENT_VERSION}
169 TARGET_LINK_LIBRARIES(${TARGET_KEY_MANAGER_CONTROL_CLIENT}
170 ${KEY_MANAGER_CLIENT_DEP_LIBRARIES}
171 ${TARGET_KEY_MANAGER_COMMON}
174 ################################################################################
175 INSTALL(TARGETS ${TARGET_KEY_MANAGER_CLIENT} DESTINATION ${LIB_INSTALL_DIR})
176 INSTALL(TARGETS ${TARGET_KEY_MANAGER_CONTROL_CLIENT} DESTINATION ${LIB_INSTALL_DIR})
178 INSTALL(TARGETS ${TARGET_KEY_MANAGER} DESTINATION bin)
182 ${KEY_MANAGER_SRC_PATH}/include/ckm/ckm-manager.h
183 ${KEY_MANAGER_SRC_PATH}/include/ckm/ckm-manager-async.h
184 ${KEY_MANAGER_SRC_PATH}/include/ckm/ckm-certificate.h
185 ${KEY_MANAGER_SRC_PATH}/include/ckm/ckm-control.h
186 ${KEY_MANAGER_SRC_PATH}/include/ckm/ckm-error.h
187 ${KEY_MANAGER_SRC_PATH}/include/ckm/ckm-key.h
188 ${KEY_MANAGER_SRC_PATH}/include/ckm/ckm-password.h
189 ${KEY_MANAGER_SRC_PATH}/include/ckm/ckm-pkcs12.h
190 ${KEY_MANAGER_SRC_PATH}/include/ckm/ckm-raw-buffer.h
191 ${KEY_MANAGER_SRC_PATH}/include/ckm/ckm-client-info.h
192 ${KEY_MANAGER_SRC_PATH}/include/ckm/ckm-type.h
193 DESTINATION /usr/include/ckm/ckm
197 ${KEY_MANAGER_SRC_PATH}/include/ckmc/ckmc-manager.h
198 ${KEY_MANAGER_SRC_PATH}/include/ckmc/ckmc-control.h
199 ${KEY_MANAGER_SRC_PATH}/include/ckmc/ckmc-error.h
200 ${KEY_MANAGER_SRC_PATH}/include/ckmc/ckmc-type.h
201 DESTINATION /usr/include/ckm/ckmc
203 ################################################################################
205 ADD_SUBDIRECTORY(manager)
206 ADD_SUBDIRECTORY(plugin)