1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
7 SET(VERSION "${SO_VERSION}.0.0")
10 SET(DEBUG_OUTPUT "-DCERT_SVC_LOG") # for debug
11 #SET(DEBUG_OUTPUT "-DCERT_SVC_LOG_CONSOLE") # for debug
13 SET(TARGET_CERT_SVC_LIB "cert-svc")
14 SET(TARGET_VCORE_LIB "cert-svc-vcore")
15 #SET(TARGET_SIGN_TOOL "dpkg-pki-sig")
18 SET(GC_SECTIONS_FLAGS "-fdata-sections -ffunction-sections -Wl,--gc-sections")
19 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${GC_SECTIONS_FLAGS}")
20 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GC_SECTIONS_FLAGS}")
22 SET(CMAKE_C_FLAGS_RELEASE "-fvisibility=hidden -Wall -O2")
23 SET(CMAKE_CXX_FLAGS_RELEASE "-std=c++0x -Wall -O2")
25 SET(CMAKE_C_FLAGS_DEBUG "-fvisibility=hidden -Wall -O0 -g")
26 SET(CMAKE_CXX_FLAGS_DEBUG "-std=c++0x -Wall -O0 -g")
28 SET(CMAKE_C_FLAGS_CCOV "-fvisibility=hidden -Wall -O2 --coverage")
29 SET(CMAKE_CXX_FLAGS_CCOV "-std=c++0x -Wall -O2 --coverage")
31 SET(CMAKE_SHARED_LINKER_FLAGS "-Wl,--as-needed")
32 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
33 SET(CMAKE_SKIP_RPATH "TRUE")
34 SET(TZ_SYS_SHARE "${TZ_SYS_SHARE}")
35 SET(TZ_SYS_BIN "${TZ_SYS_BIN}")
36 SET(TZ_SYS_ETC "${TZ_SYS_ETC}")
37 #SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Werror -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wmissing-declarations")
39 ################################################################################
41 ################################################################################
43 PKG_CHECK_MODULES(CERT_SVC_DEPS
53 ${PROJECT_SOURCE_DIR}/srcs/cert-service.c
54 ${PROJECT_SOURCE_DIR}/srcs/cert-service-util.c
55 ${PROJECT_SOURCE_DIR}/srcs/cert-service-store.c
56 ${PROJECT_SOURCE_DIR}/srcs/cert-service-process.c
59 IF(DEFINED DEBUG_OUTPUT)
60 SET_SOURCE_FILES_PROPERTIES(${CERT_SVC_SOURCES}
61 PROPERTIES COMPILE_FLAGS ${DEBUG_OUTPUT})
62 ENDIF(DEFINED DEBUG_OUTPUT)
65 ${PROJECT_SOURCE_DIR}/include
66 ${CERT_SVC_DEPS_INCLUDE_DIRS}
69 ADD_DEFINITIONS("-DDPL_LOGS_ENABLED")
70 IF(TIZEN_FEAT_PROFILE_CERT_SVC_OCSP_CRL)
71 ADD_DEFINITIONS("-DTIZEN_FEATURE_CERT_SVC_OCSP_CRL")
74 ADD_LIBRARY(${TARGET_CERT_SVC_LIB} SHARED ${CERT_SVC_SOURCES})
76 SET_TARGET_PROPERTIES(${TARGET_CERT_SVC_LIB} PROPERTIES
77 SOVERSION ${SO_VERSION}
81 TARGET_LINK_LIBRARIES(${TARGET_CERT_SVC_LIB}
83 ${CERT_SVC_DEPS_LIBRARIES}
87 ################################################################################
89 CONFIGURE_FILE(cert-svc.pc.in cert-svc.pc @ONLY)
90 CONFIGURE_FILE(cert-svc-vcore.pc.in cert-svc-vcore.pc @ONLY)
92 INSTALL(TARGETS ${TARGET_CERT_SVC_LIB} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
93 INSTALL(PROGRAMS ${TARGET_SIGN_TOOL} DESTINATION ${BINDIR})
95 ${CMAKE_CURRENT_BINARY_DIR}/cert-svc.pc
96 ${CMAKE_CURRENT_BINARY_DIR}/cert-svc-vcore.pc
97 DESTINATION ${LIB_INSTALL_DIR}/pkgconfig
99 INSTALL(FILES ${PROJECT_SOURCE_DIR}/targetinfo DESTINATION ${TZ_SYS_SHARE}/cert-svc/)
100 #INSTALL(FILES ${PROJECT_SOURCE_DIR}/res/pin/.pin DESTINATION ${TZ_SYS_SHARE}/cert-svc/pin/)
101 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/cert-service.h DESTINATION ${INCLUDEDIR})
103 # Now we must create empty directory for certificates.
104 # Without this directories rpm package will fail during build.
105 #INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR}/etc/empty
106 # DESTINATION ${TZ_SYS_SHARE}/cert-svc/ca-certs/code-signing/native
107 # FILES_MATCHING PATTERN THISPATTERNMUSTNOTMATCH
109 #INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR}/etc/empty
110 # DESTINATION ${TZ_SYS_SHARE}/cert-svc/ca-certs/code-signing/wac
111 # FILES_MATCHING PATTERN THISPATTERNMUSTNOTMATCH
113 INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR}/etc/empty
114 DESTINATION ${TZ_SYS_SHARE}/cert-svc/certs/code-signing/wac
115 FILES_MATCHING PATTERN THISPATTERNMUSTNOTMATCH
117 INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR}/etc/empty
118 DESTINATION ${TZ_SYS_SHARE}/cert-svc/certs/code-signing/tizen
119 FILES_MATCHING PATTERN THISPATTERNMUSTNOTMATCH
121 IF(TIZEN_FEAT_PROFILE_CERT_SVC_OCSP_CRL)
122 INSTALL(FILES ${PROJECT_SOURCE_DIR}/res/fota/FOTA_ROOT.cer
123 DESTINATION ${TZ_SYS_SHARE}/cert-svc/certs/fota
126 INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR}/etc/empty
127 DESTINATION ${TZ_SYS_SHARE}/cert-svc/certs/sim/operator
128 FILES_MATCHING PATTERN THISPATTERNMUSTNOTMATCH
130 INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR}/etc/empty
131 DESTINATION ${TZ_SYS_SHARE}/cert-svc/certs/sim/thirdparty
132 FILES_MATCHING PATTERN THISPATTERNMUSTNOTMATCH
134 INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR}/etc/empty
135 DESTINATION ${TZ_SYS_SHARE}/cert-svc/certs/user
136 FILES_MATCHING PATTERN THISPATTERNMUSTNOTMATCH
138 INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR}/etc/empty
139 DESTINATION ${TZ_SYS_SHARE}/cert-svc/certs/trusteduser
140 FILES_MATCHING PATTERN THISPATTERNMUSTNOTMATCH
142 INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR}/etc/empty
143 DESTINATION ${TZ_SYS_SHARE}/cert-svc/certs/mdm/security
144 FILES_MATCHING PATTERN THISPATTERNMUSTNOTMATCH
146 INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR}/etc/empty
147 DESTINATION ${TZ_SYS_SHARE}/cert-svc/certs/mdm/security/cert
148 FILES_MATCHING PATTERN THISPATTERNMUSTNOTMATCH
150 INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR}/etc/empty
151 DESTINATION ${TZ_SYS_SHARE}/cert-svc/pkcs12
152 FILES_MATCHING PATTERN THISPATTERNMUSTNOTMATCH
155 ADD_SUBDIRECTORY(vcore)
156 ADD_SUBDIRECTORY(etc)