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}")
37 ################################################################################
39 ################################################################################
41 PKG_CHECK_MODULES(CERT_SVC_DEPS
50 ${PROJECT_SOURCE_DIR}/srcs/cert-service.c
51 ${PROJECT_SOURCE_DIR}/srcs/cert-service-util.c
52 ${PROJECT_SOURCE_DIR}/srcs/cert-service-store.c
53 ${PROJECT_SOURCE_DIR}/srcs/cert-service-process.c
56 IF(DEFINED DEBUG_OUTPUT)
57 SET_SOURCE_FILES_PROPERTIES(${CERT_SVC_SOURCES}
58 PROPERTIES COMPILE_FLAGS ${DEBUG_OUTPUT})
59 ENDIF(DEFINED DEBUG_OUTPUT)
62 ${PROJECT_SOURCE_DIR}/include
63 ${CERT_SVC_DEPS_INCLUDE_DIRS}
66 ADD_LIBRARY(${TARGET_CERT_SVC_LIB} SHARED ${CERT_SVC_SOURCES})
68 SET_TARGET_PROPERTIES(${TARGET_CERT_SVC_LIB} PROPERTIES
69 SOVERSION ${SO_VERSION}
73 TARGET_LINK_LIBRARIES(${TARGET_CERT_SVC_LIB}
75 ${CERT_SVC_DEPS_LIBRARIES}
78 ################################################################################
80 ################################################################################
83 ${PROJECT_SOURCE_DIR}/srcs/dpkg-pki-sig.c
84 ${PROJECT_SOURCE_DIR}/srcs/cert-service-process.c
85 ${PROJECT_SOURCE_DIR}/srcs/cert-service-util.c
88 ADD_EXECUTABLE(${TARGET_SIGN_TOOL} ${SIGN_TOOL_SOURCES})
90 TARGET_LINK_LIBRARIES(${TARGET_SIGN_TOOL}
91 ${TARGET_CERT_SVC_LIB}
92 ${CERT_SVC_DEPS_LIBRARIES}
95 ################################################################################
97 CONFIGURE_FILE(cert-svc.pc.in cert-svc.pc @ONLY)
98 CONFIGURE_FILE(cert-svc-vcore.pc.in cert-svc-vcore.pc @ONLY)
100 INSTALL(TARGETS ${TARGET_CERT_SVC_LIB} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
101 INSTALL(PROGRAMS ${TARGET_SIGN_TOOL} DESTINATION ${BINDIR})
103 ${CMAKE_CURRENT_BINARY_DIR}/cert-svc.pc
104 ${CMAKE_CURRENT_BINARY_DIR}/cert-svc-vcore.pc
105 DESTINATION ${LIB_INSTALL_DIR}/pkgconfig
107 INSTALL(FILES ${PROJECT_SOURCE_DIR}/targetinfo DESTINATION ${TZ_SYS_SHARE}/cert-svc/)
108 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/cert-service.h DESTINATION ${INCLUDEDIR})
110 # Now we must create empty directory for certificates.
111 # Without this directories rpm package will fail during build.
112 INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR}/etc/empty
113 DESTINATION /usr/share/cert-svc/ca-certs/code-signing/native
114 FILES_MATCHING PATTERN THISPATTERNMUSTNOTMATCH
116 INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR}/etc/empty
117 DESTINATION /usr/share/cert-svc/ca-certs/code-signing/wac
118 FILES_MATCHING PATTERN THISPATTERNMUSTNOTMATCH
120 INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR}/etc/empty
121 DESTINATION ${TZ_SYS_SHARE}/cert-svc/certs/code-signing/wac
122 FILES_MATCHING PATTERN THISPATTERNMUSTNOTMATCH
124 INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR}/etc/empty
125 DESTINATION ${TZ_SYS_SHARE}/cert-svc/certs/code-signing/tizen
126 FILES_MATCHING PATTERN THISPATTERNMUSTNOTMATCH
128 INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR}/etc/empty
129 DESTINATION ${TZ_SYS_SHARE}/cert-svc/certs/sim/operator
130 FILES_MATCHING PATTERN THISPATTERNMUSTNOTMATCH
132 INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR}/etc/empty
133 DESTINATION ${TZ_SYS_SHARE}/cert-svc/certs/sim/thirdparty
134 FILES_MATCHING PATTERN THISPATTERNMUSTNOTMATCH
136 INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR}/etc/empty
137 DESTINATION ${TZ_SYS_SHARE}/cert-svc/certs/user
138 FILES_MATCHING PATTERN THISPATTERNMUSTNOTMATCH
140 INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR}/etc/empty
141 DESTINATION ${TZ_SYS_SHARE}/cert-svc/certs/trusteduser
142 FILES_MATCHING PATTERN THISPATTERNMUSTNOTMATCH
144 INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR}/etc/empty
145 DESTINATION ${TZ_SYS_SHARE}/cert-svc/certs/mdm/security
146 FILES_MATCHING PATTERN THISPATTERNMUSTNOTMATCH
148 INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR}/etc/empty
149 DESTINATION ${TZ_SYS_SHARE}/cert-svc/certs/mdm/security/cert
150 FILES_MATCHING PATTERN THISPATTERNMUSTNOTMATCH
152 INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR}/etc/empty
153 DESTINATION ${TZ_SYS_SHARE}/cert-svc/pkcs12
154 FILES_MATCHING PATTERN THISPATTERNMUSTNOTMATCH
157 ADD_SUBDIRECTORY(vcore)
158 ADD_SUBDIRECTORY(etc)