summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
blob: 4c3700ce0de2e97aba2824509a0908ebd8c21448 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT(cert-svc)

INCLUDE(FindPkgConfig)

STRING(REGEX MATCH "([^.]*)" SO_VERSION "${VERSION}")

# compiler options
SET(GC_SECTIONS_FLAGS         "-fdata-sections -ffunction-sections -Wl,--gc-sections")
SET(CMAKE_C_FLAGS             "${CMAKE_C_FLAGS} ${GC_SECTIONS_FLAGS}")
SET(CMAKE_CXX_FLAGS           "${CMAKE_CXX_FLAGS} ${GC_SECTIONS_FLAGS}")
SET(CMAKE_C_FLAGS_RELEASE     "-g -O2")
SET(CMAKE_CXX_FLAGS_RELEASE   "-g -std=c++0x -O2")
SET(CMAKE_C_FLAGS_DEBUG       "-g -O0 -Wp,-U_FORTIFY_SOURCE")
SET(CMAKE_CXX_FLAGS_DEBUG     "-g -std=c++0x -O0 -Wp,-U_FORTIFY_SOURCE")
SET(CMAKE_C_FLAGS_CCOV        "-g -O2 --coverage")
SET(CMAKE_CXX_FLAGS_CCOV      "-g -std=c++0x -O2 --coverage")
SET(CMAKE_SHARED_LINKER_FLAGS "-Wl,--as-needed")
SET(CMAKE_EXE_LINKER_FLAGS    "-Wl,--as-needed")
SET(CMAKE_SKIP_RPATH          "TRUE")

# compiler warning flags
ADD_DEFINITIONS("-Wall")
ADD_DEFINITIONS("-Wextra")
ADD_DEFINITIONS("-Werror")

SET(TARGET_VCORE_LIB "cert-svc-vcore")
SET(TARGET_TRANSEC_LIB "cert-svc-transec")
SET(TARGET_CERT_SERVER "cert-server")

ADD_DEFINITIONS("-DSIGNATURE_SCHEMA_PATH=\"${CERT_SVC_RO_PATH}/schema.xsd\"")

ADD_DEFINITIONS("-DSERVER_STREAM=\"${SERVER_STREAM}\"")

ADD_DEFINITIONS("-DCERTSVC_SYSTEM_STORE_DB=\"${CERT_SVC_DB_PATH}/certs-meta.db\"")
ADD_DEFINITIONS("-DCERTSVC_PKCS12_STORAGE_DIR=\"${CERT_SVC_PKCS12}/\"")
ADD_DEFINITIONS("-DCERTSVC_TRANSEC_USR_DIR=\"${CERT_SVC_TRANSEC_USR}\"")
ADD_DEFINITIONS("-DCERTSVC_TRANSEC_GLOBAL_DIR=\"${CERT_SVC_TRANSEC_GLOBAL}\"")
ADD_DEFINITIONS("-DCERTSVC_TRANSEC_BUNDLE=\"${CERT_SVC_TRANSEC_BUNDLE}\"")

ADD_DEFINITIONS("-DTZ_SYS_CA_CERTS=\"${TZ_SYS_CA_CERTS}\"")
ADD_DEFINITIONS("-DTZ_SYS_CA_CERTS_ORIG=\"${TZ_SYS_CA_CERTS_ORIG}\"")
ADD_DEFINITIONS("-DTZ_SYS_CA_BUNDLE=\"${TZ_SYS_CA_BUNDLE}\"")
ADD_DEFINITIONS("-DTZ_SYS_RO_CA_CERTS=\"${TZ_SYS_RO_CA_CERTS}\"")
ADD_DEFINITIONS("-DTZ_SYS_RO_CA_BUNDLE=\"${TZ_SYS_RO_CA_BUNDLE}\"")

SET(CA_CERTS_PATH ${RO_DATA_DIR}/ca-certificates)
ADD_DEFINITIONS("-DTZ_SYS_CA_CERTS_TIZEN=\"${CA_CERTS_PATH}/tizen\"")
ADD_DEFINITIONS("-DFINGERPRINT_LIST_PATH=\"${CA_CERTS_PATH}/fingerprint/fingerprint_list.xml\"")
ADD_DEFINITIONS("-DFINGERPRINT_LIST_EXT_PATH=\"${CA_CERTS_PATH}/fingerprint/fingerprint_list_ext.xml\"")
ADD_DEFINITIONS("-DFINGERPRINT_LIST_RW_PATH=\"${FINGERPRINT_LIST_RW_PATH}\"")
ADD_DEFINITIONS("-DFINGERPRINT_LIST_SCHEMA_PATH=\"${CA_CERTS_PATH}/fingerprint/fingerprint_list.xsd\"")

CONFIGURE_FILE(cert-svc-vcore.pc.in cert-svc-vcore.pc @ONLY)
INSTALL(FILES
    ${CMAKE_CURRENT_BINARY_DIR}/cert-svc-vcore.pc
    DESTINATION ${LIB_INSTALL_DIR}/pkgconfig
)

ADD_SUBDIRECTORY(src)
ADD_SUBDIRECTORY(systemd)
ADD_SUBDIRECTORY(etc)

IF (DEFINED CERTSVC_TEST_BUILD)
ADD_DEFINITIONS("-DTESTAPP_RES_DIR=\"${CERT_SVC_TESTS}/\"")
ADD_SUBDIRECTORY(tests)
ADD_SUBDIRECTORY(examples)
ENDIF (DEFINED CERTSVC_TEST_BUILD)

CONFIGURE_FILE(packaging/cert-svc.manifest.in cert-svc.manifest @ONLY)