Refactor log system
[platform/core/security/cert-svc.git] / vcore / src / CMakeLists.txt
1 # compiler warning flags
2 ADD_DEFINITIONS("-Wall")
3 ADD_DEFINITIONS("-Wextra")
4 ADD_DEFINITIONS("-Werror")
5
6 IF(DEFINED TIZEN_FEAT_CERTSVC_OCSP_CRL)
7 PKG_CHECK_MODULES(VCORE_DEPS
8     REQUIRED
9     glib-2.0
10     libxml-2.0
11     libpcrecpp
12     openssl
13     xmlsec1
14     dlog
15     secure-storage
16     icu-uc
17     libsoup-2.4
18     db-util
19     libsystemd-journal
20
21     sqlite3
22     vconf
23     )
24 ELSE(DEFINED TIZEN_FEAT_CERTSVC_OCSP_CRL)
25 PKG_CHECK_MODULES(VCORE_DEPS
26     REQUIRED
27     glib-2.0
28     libxml-2.0
29     libpcrecpp
30     openssl
31     xmlsec1
32     dlog
33     secure-storage
34     icu-uc
35     libsoup-2.4
36     db-util
37     libsystemd-journal
38     )
39 ENDIF(DEFINED TIZEN_FEAT_CERTSVC_OCSP_CRL)
40
41 ADD_DEFINITIONS(${VCORE_DEPS_CFLAGS})
42 ADD_DEFINITIONS(${VCORE_DEPS_CFLAGS_OTHER})
43 ADD_DEFINITIONS("-DSEPARATED_SINGLETON_IMPLEMENTATION")
44
45 SET(VCORE_DIR
46     ${PROJECT_SOURCE_DIR}/vcore
47     )
48
49 SET(VCORE_SRC_DIR
50     ${VCORE_DIR}/src/vcore
51     )
52
53 ########### DPL SOURCES ##########
54 SET(VCORE_DPL_DIR
55     ${VCORE_DIR}/src/dpl
56     )
57 SET(VCORE_DPL_CORE_SRC_DIR
58     ${VCORE_DPL_DIR}/core/src
59     )
60 SET(VCORE_DPL_CORE_SOURCES
61     ${VCORE_DPL_CORE_SRC_DIR}/assert.cpp
62     ${VCORE_DPL_CORE_SRC_DIR}/binary_queue.cpp
63     ${VCORE_DPL_CORE_SRC_DIR}/char_traits.cpp
64     ${VCORE_DPL_CORE_SRC_DIR}/colors.cpp
65     ${VCORE_DPL_CORE_SRC_DIR}/errno_string.cpp
66     ${VCORE_DPL_CORE_SRC_DIR}/exception.cpp
67     ${VCORE_DPL_CORE_SRC_DIR}/file_input.cpp
68     ${VCORE_DPL_CORE_SRC_DIR}/noncopyable.cpp
69     ${VCORE_DPL_CORE_SRC_DIR}/singleton.cpp
70     ${VCORE_DPL_CORE_SRC_DIR}/string.cpp
71     ${VCORE_DPL_CORE_SRC_DIR}/type_list.cpp
72     ${VCORE_DPL_CORE_SRC_DIR}/thread.cpp
73     ${VCORE_DPL_CORE_SRC_DIR}/waitable_event.cpp
74     ${VCORE_DPL_CORE_SRC_DIR}/waitable_handle.cpp
75     ${VCORE_DPL_CORE_SRC_DIR}/waitable_handle_watch_support.cpp
76     )
77
78 SET(VCORE_DPL_DB_SRC_DIR
79     ${VCORE_DPL_DIR}/db/src
80     )
81 SET(VCORE_DPL_DB_SOURCES
82     ${VCORE_DPL_DB_SRC_DIR}/naive_synchronization_object.cpp
83     ${VCORE_DPL_DB_SRC_DIR}/orm.cpp
84     ${VCORE_DPL_DB_SRC_DIR}/sql_connection.cpp
85     ${VCORE_DPL_DB_SRC_DIR}/thread_database_support.cpp
86     )
87
88 SET(VCORE_DPL_LOG_SRC_DIR
89     ${VCORE_DPL_DIR}/log/src
90     )
91 SET(VCORE_DPL_LOG_SOURCES
92     ${VCORE_DPL_LOG_SRC_DIR}/abstract_log_provider.cpp
93     ${VCORE_DPL_LOG_SRC_DIR}/old_style_log_provider.cpp
94     ${VCORE_DPL_LOG_SRC_DIR}/dlog_log_provider.cpp
95     ${VCORE_DPL_LOG_SRC_DIR}/journal_log_provider.cpp
96     ${VCORE_DPL_LOG_SRC_DIR}/log.cpp
97     )
98 ########### DPL SOURCES ##########
99
100
101 ########### VCORE SOURCES ########
102 SET(VCORE_SOURCES
103     ${VCORE_SRC_DIR}/api.cpp
104     ${VCORE_SRC_DIR}/Base64.cpp
105     ${VCORE_SRC_DIR}/Certificate.cpp
106     ${VCORE_SRC_DIR}/CertificateCollection.cpp
107     ${VCORE_SRC_DIR}/CertificateConfigReader.cpp
108     ${VCORE_SRC_DIR}/CertificateLoader.cpp
109     ${VCORE_SRC_DIR}/CertStoreType.cpp
110     ${VCORE_SRC_DIR}/Config.cpp
111     ${VCORE_SRC_DIR}/CryptoHash.cpp
112     ${VCORE_SRC_DIR}/OCSPCertMgrUtil.cpp
113     ${VCORE_SRC_DIR}/ReferenceValidator.cpp
114     ${VCORE_SRC_DIR}/RevocationCheckerBase.cpp
115     ${VCORE_SRC_DIR}/SaxReader.cpp
116     ${VCORE_SRC_DIR}/SignatureData.cpp
117     ${VCORE_SRC_DIR}/SignatureFinder.cpp
118     ${VCORE_SRC_DIR}/SignatureReader.cpp
119     ${VCORE_SRC_DIR}/TimeConversion.cpp
120     ${VCORE_SRC_DIR}/VerificationStatus.cpp
121     ${VCORE_SRC_DIR}/ValidatorFactories.cpp
122     ${VCORE_SRC_DIR}/VCore.cpp
123     ${VCORE_SRC_DIR}/WrtSignatureValidator.cpp
124     ${VCORE_SRC_DIR}/SignatureValidator.cpp
125     ${VCORE_SRC_DIR}/XmlsecAdapter.cpp
126     ${VCORE_SRC_DIR}/pkcs12.cpp
127     ${VCORE_SRC_DIR}/exception.cpp
128
129     ${VCORE_SRC_DIR}/utils.c
130     ${VCORE_SRC_DIR}/cert-svc-client.c
131     )
132
133 SET(VCORE_OCSP_CRL_SOURCES
134     ${VCORE_SRC_DIR}/CachedCRL.cpp
135     ${VCORE_SRC_DIR}/CachedOCSP.cpp
136     ${VCORE_SRC_DIR}/CertificateCacheDAO.cpp
137     ${VCORE_SRC_DIR}/CertificateVerifier.cpp
138     ${VCORE_SRC_DIR}/CRL.cpp
139     ${VCORE_SRC_DIR}/CRLImpl.cpp
140     ${VCORE_SRC_DIR}/CRLCacheDAO.cpp
141     ${VCORE_SRC_DIR}/Database.cpp
142     ${VCORE_SRC_DIR}/OCSP.cpp
143     ${VCORE_SRC_DIR}/OCSPImpl.cpp
144     ${VCORE_SRC_DIR}/SoupMessageSendBase.cpp
145     ${VCORE_SRC_DIR}/SoupMessageSendSync.cpp
146     ${VCORE_SRC_DIR}/OCSPUtil.c
147     )
148
149 SET(VCORE_INCLUDES
150     ${VCORE_DEPS_INCLUDE_DIRS}
151     ${VCORE_SRC_DIR}
152     ${VCORE_DIR}/src
153     ${VCORE_DIR}/src/legacy
154     )
155
156 SET(VCORE_INCLUDES_OCSP_CRL
157     ${VCORE_DIR}/src/orm
158     )
159 ########### VCORE SOURCES ########
160
161 IF(DEFINED TIZEN_FEAT_CERTSVC_OCSP_CRL)
162 SET(VCORE_ALL_SOURCES
163     ${VCORE_SOURCES}
164     ${VCORE_DPL_CORE_SOURCES}
165     ${VCORE_DPL_DB_SOURCES}
166     ${VCORE_DPL_LOG_SOURCES}
167     ${VCORE_OCSP_CRL_SOURCES}
168     )
169 SET(VCORE_ALL_INCLUDES
170     ${PROJECT_SOURCE_DIR}/include
171     ${VCORE_INCLUDES}
172     ${VCORE_DPL_DIR}/core/include
173     ${VCORE_DPL_DIR}/db/include
174     ${VCORE_DPL_DIR}/log/include
175     ${VCORE_INCLUDES_OCSP_CRL}
176     )
177 ELSE(DEFINED TIZEN_FEAT_CERTSVC_OCSP_CRL)
178 SET(VCORE_ALL_SOURCES
179     ${VCORE_SOURCES}
180     ${VCORE_DPL_CORE_SOURCES}
181     ${VCORE_DPL_LOG_SOURCES}
182     )
183 SET(VCORE_ALL_INCLUDES
184     ${PROJECT_SOURCE_DIR}/include
185     ${VCORE_INCLUDES}
186     ${VCORE_DPL_DIR}/core/include
187     ${VCORE_DPL_DIR}/log/include
188     )
189 ENDIF(DEFINED TIZEN_FEAT_CERTSVC_OCSP_CRL)
190
191 INCLUDE_DIRECTORIES(SYSTEM ${VCORE_ALL_INCLUDES})
192
193 ADD_LIBRARY(${TARGET_VCORE_LIB} SHARED ${VCORE_ALL_SOURCES})
194
195 # TODO: visibility needed to be hidden
196 SET_TARGET_PROPERTIES(${TARGET_VCORE_LIB}
197     PROPERTIES
198         COMPILE_FLAGS "-D_GNU_SOURCE -fPIC -fvisibility=default"
199         SOVERSION ${SO_VERSION}
200         VERSION ${VERSION})
201
202 IF(DEFINED TIZEN_FEAT_CERTSVC_OCSP_CRL)
203 ADD_DEPENDENCIES(${TARGET_VCORE_LIB} Sqlite3DbWTF)
204 ENDIF(DEFINED TIZEN_FEAT_CERTSVC_OCSP_CRL)
205
206 TARGET_LINK_LIBRARIES(${TARGET_VCORE_LIB}
207     ${VCORE_DEPS_LIBRARIES}
208     ${TARGET_CERT_SVC_LIB}
209     )
210
211 ########## cert-server #############
212 PKG_CHECK_MODULES(CERT_SERVER_DEP
213     REQUIRED
214     dlog
215     sqlite3
216     db-util
217     libsystemd-daemon
218     key-manager
219     )
220
221 SET(CERT_SERVER_DIR
222     ${PROJECT_SOURCE_DIR}/vcore/src/server
223     )
224
225 SET(CERT_SERVER_SRCS
226     ${CERT_SERVER_DIR}/src/cert-server-main.c
227     ${CERT_SERVER_DIR}/src/cert-server-logic.c
228     )
229
230 INCLUDE_DIRECTORIES(
231     SYSTEM
232     ${CERT_SERVER_DEP_INCLUDE_DIRS}
233     ${PROJECT_SOURCE_DIR}/include
234     ${VCORE_DIR}/src
235     ${CERT_SERVER_DIR}/include
236     )
237
238 SET_SOURCE_FILES_PROPERTIES(
239     ${CERT_SERVER_SRCS}
240     PROPERTIES
241         COMPILE_FLAGS "-D_GNU_SOURCE -fvisibility=hidden -fPIE"
242     )
243
244 ADD_EXECUTABLE(${TARGET_CERT_SERVER} ${CERT_SERVER_SRCS})
245
246 TARGET_LINK_LIBRARIES(${TARGET_CERT_SERVER}
247     ${CERT_SERVER_DEP_LIBRARIES}
248     -pie
249     )
250
251 INSTALL(TARGETS ${TARGET_CERT_SERVER} DESTINATION ${BINDIR})
252
253 ########################################################
254 INSTALL(TARGETS ${TARGET_VCORE_LIB}
255     DESTINATION ${LIBDIR}
256     )
257
258 INSTALL(FILES
259     ${VCORE_SRC_DIR}/VCore.h
260     ${VCORE_SRC_DIR}/WrtSignatureValidator.h
261     ${VCORE_SRC_DIR}/SignatureValidator.h
262     ${VCORE_SRC_DIR}/SignatureFinder.h
263     ${VCORE_SRC_DIR}/SignatureReader.h
264     ${VCORE_SRC_DIR}/CertificateCollection.h
265     ${VCORE_SRC_DIR}/CryptoHash.h
266     ${VCORE_SRC_DIR}/Base64.h
267
268     ${VCORE_SRC_DIR}/ParserSchema.h
269     ${VCORE_SRC_DIR}/SaxReader.h
270
271     ${VCORE_SRC_DIR}/Certificate.h
272     ${VCORE_SRC_DIR}/SignatureData.h
273     ${VCORE_SRC_DIR}/CertStoreType.h
274     ${VCORE_SRC_DIR}/exception.h
275     DESTINATION ${INCLUDEDIR}/cert-svc/vcore
276     )
277
278 INSTALL(FILES
279     ${VCORE_DIR}/src/cert-svc/ccert.h
280     ${VCORE_DIR}/src/cert-svc/cinstance.h
281     ${VCORE_DIR}/src/cert-svc/cerror.h
282     ${VCORE_DIR}/src/cert-svc/cpkcs12.h
283     ${VCORE_DIR}/src/cert-svc/cprimitives.h
284     ${VCORE_DIR}/src/cert-svc/cstring.h
285     DESTINATION ${INCLUDEDIR}/cert-svc/cert-svc
286     )
287
288 IF(DEFINED TIZEN_FEAT_CERTSVC_OCSP_CRL)
289 INSTALL(FILES
290     ${VCORE_SRC_DIR}/IAbstractResponseCache.h
291     ${VCORE_SRC_DIR}/VerificationStatus.h
292     ${VCORE_SRC_DIR}/CachedCRL.h
293     ${VCORE_SRC_DIR}/CachedOCSP.h
294     ${VCORE_SRC_DIR}/CRL.h
295     ${VCORE_SRC_DIR}/CRLCacheInterface.h
296     ${VCORE_SRC_DIR}/OCSP.h
297     ${VCORE_SRC_DIR}/OCSPCertMgrUtil.h
298     DESTINATION ${INCLUDEDIR}/cert-svc/vcore
299     )
300
301 INSTALL(FILES
302     ${VCORE_DIR}/src/cert-svc/ccrl.h
303     ${VCORE_DIR}/src/cert-svc/cocsp.h
304     DESTINATION ${INCLUDEDIR}/cert-svc/cert-svc
305     )
306 ENDIF(DEFINED TIZEN_FEAT_CERTSVC_OCSP_CRL)