1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
4 SET(CMAKE_SKIP_BUILD_RPATH TRUE)
6 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
7 SET(CMAKE_BUILD_TYPE "Debug")
8 ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
11 MESSAGE(">>> current directory: ${CMAKE_CURRENT_SOURCE_DIR}")
12 MESSAGE(">>> Build type: ${CMAKE_BUILD_TYPE}")
15 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${VISIBILITY} -fvisibility=hidden")
16 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wl,--gc-sections")
18 ##########################################################
20 ##########################################################
22 SET(DEVICE-LIB "email-device")
24 ./email-device/email-device.c
28 ${CMAKE_SOURCE_DIR}/email-common-use/include
29 ${CMAKE_SOURCE_DIR}/email-core/email-device/include
32 INCLUDE(FindPkgConfig)
33 pkg_check_modules(device_pkgs REQUIRED glib-2.0 dlog vconf capi-system-device dbus-1)
36 FOREACH(flag ${device_pkgs_CFLAGS})
37 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
40 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
42 #message(">>> extra_cflags ${EXTRA_CFLAGS}")
43 #message(">>> result ${CMAKE_C_FLAGS}")
44 #message(">>> ld flag ${device_pkgs_LDFLAGS}")
46 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
48 ADD_LIBRARY(${DEVICE-LIB} SHARED ${DEVICE-SRCS})
49 TARGET_LINK_LIBRARIES(${DEVICE-LIB} ${device_pkgs_LDFLAGS})
50 SET_TARGET_PROPERTIES(${DEVICE-LIB} PROPERTIES SOVERSION ${VERSION_MAJOR})
51 SET_TARGET_PROPERTIES(${DEVICE-LIB} PROPERTIES VERSION ${VERSION})
53 INSTALL(TARGETS ${DEVICE-LIB} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
56 ##########################################################
58 ##########################################################
60 SET(STORAGE-LIB "email-storage")
62 ./email-storage/email-storage.c
66 ${CMAKE_SOURCE_DIR}/email-common-use/include
67 ${CMAKE_SOURCE_DIR}/email-daemon/include
68 ${CMAKE_SOURCE_DIR}/email-core/include
69 ${CMAKE_SOURCE_DIR}/email-core/email-storage/include
73 INCLUDE(FindPkgConfig)
74 pkg_check_modules(storage_pkgs REQUIRED glib-2.0 dlog openssl1.1 vconf dbus-1 contacts-service2 libtzplatform-config)
77 FOREACH(flag ${storage_pkgs_CFLAGS})
78 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
81 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
83 #message(">>> extra_cflags ${EXTRA_CFLAGS}")
84 #message(">>> result ${CMAKE_C_FLAGS}")
87 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
89 ADD_LIBRARY(${STORAGE-LIB} SHARED ${STORAGE-SRCS})
90 SET_TARGET_PROPERTIES(${STORAGE-LIB} PROPERTIES SOVERSION ${VERSION_MAJOR})
91 SET_TARGET_PROPERTIES(${STORAGE-LIB} PROPERTIES VERSION ${VERSION})
93 INSTALL(TARGETS ${STORAGE-LIB} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
96 ##########################################################
98 ##########################################################
100 SET(NETWORK-LIB "email-network")
102 ./email-network/email-network.c
106 ${CMAKE_SOURCE_DIR}/email-common-use/include
107 ${CMAKE_SOURCE_DIR}/email-daemon/include
108 ${CMAKE_SOURCE_DIR}/email-core/include
109 ${CMAKE_SOURCE_DIR}/email-core/email-storage/include
112 INCLUDE(FindPkgConfig)
113 pkg_check_modules(network_pkgs REQUIRED glib-2.0 uw-imap-toolkit dbus-1 vconf dlog openssl1.1)
115 FOREACH(flag ${network_pkgs_CFLAGS})
116 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
119 #message(">> net extra raw: ${core_proxy_pkgs_CFLAGS}")
121 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
123 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
125 ADD_LIBRARY(${NETWORK-LIB} SHARED ${NETWORK-SRCS})
126 TARGET_LINK_LIBRARIES(${NETWORK-LIB} ${network_pkgs_LDFLAGS} ${STORAGE-LIB} dl)
127 SET_TARGET_PROPERTIES(${NETWORK-LIB} PROPERTIES SOVERSION ${VERSION_MAJOR})
128 SET_TARGET_PROPERTIES(${NETWORK-LIB} PROPERTIES VERSION ${VERSION})
130 INSTALL(TARGETS ${NETWORK-LIB} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
132 ##########################################################
133 # Define container lib
134 ##########################################################
136 SET(CONTAINER-LIB "email-container")
138 ${CMAKE_SOURCE_DIR}/email-core/email-core-container.c
142 ${CMAKE_SOURCE_DIR}/email-common-use/include
145 INCLUDE(FindPkgConfig)
146 SET(PKG_MODULES glib-2.0)
148 # __FEATURE_CONTAINER_ENABLE__
149 #SET(PKG_MODULES glib-2.0 vasum)
151 pkg_check_modules(container_pkgs REQUIRED ${PKG_MODULES})
153 FOREACH(flag ${container_pkgs_CFLAGS})
154 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
157 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
159 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
161 ADD_LIBRARY(${CONTAINER-LIB} SHARED ${CONTAINER-SRCS})
162 TARGET_LINK_LIBRARIES(${CONTAINER-LIB} ${container_pkgs_LDFLAGS} dl)
163 SET_TARGET_PROPERTIES(${CONTAINER-LIB} PROPERTIES SOVERSION ${VERSION_MAJOR})
164 SET_TARGET_PROPERTIES(${CONTAINER-LIB} PROPERTIES VERSION ${VERSION})
166 INSTALL(TARGETS ${CONTAINER-LIB} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
168 ##########################################################
170 ##########################################################
172 SET(CYNARA-LIB "email-cynara")
174 ${CMAKE_SOURCE_DIR}/email-core/email-core-cynara.c
178 ${CMAKE_SOURCE_DIR}/email-common-use/include
181 INCLUDE(FindPkgConfig)
182 SET(PKG_MODULES cynara-client cynara-creds-socket cynara-session)
184 pkg_check_modules(cynara_pkgs REQUIRED ${PKG_MODULES})
186 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${cynara_pkgs_CFLAGS}")
187 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
189 ADD_LIBRARY(${CYNARA-LIB} SHARED ${CYNARA-SRCS})
190 TARGET_LINK_LIBRARIES(${CYNARA-LIB} ${cynara_pkgs_LDFLAGS} dl)
191 SET_TARGET_PROPERTIES(${CYNARA-LIB} PROPERTIES SOVERSION ${VERSION_MAJOR})
192 SET_TARGET_PROPERTIES(${CYNARA-LIB} PROPERTIES VERSION ${VERSION})
194 INSTALL(TARGETS ${CYNARA-LIB} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
196 ##########################################################
198 ##########################################################
200 SET(CORE-LIB "email-core")
202 ${CMAKE_SOURCE_DIR}/email-core/email-core-event.c
203 ${CMAKE_SOURCE_DIR}/email-core/email-core-imap-mailbox.c
204 ${CMAKE_SOURCE_DIR}/email-core/email-core-mailbox.c
205 ${CMAKE_SOURCE_DIR}/email-core/email-core-mailbox-sync.c
206 ${CMAKE_SOURCE_DIR}/email-core/email-core-mail.c
207 ${CMAKE_SOURCE_DIR}/email-core/email-core-mm-callbacks.c
208 ${CMAKE_SOURCE_DIR}/email-core/email-core-utils.c
209 ${CMAKE_SOURCE_DIR}/email-core/email-core-smtp.c
210 ${CMAKE_SOURCE_DIR}/email-core/email-core-timer.c
211 ${CMAKE_SOURCE_DIR}/email-core/email-core-imap-idle.c
212 ${CMAKE_SOURCE_DIR}/email-core/email-core-global.c
213 ${CMAKE_SOURCE_DIR}/email-core/email-core-account.c
214 ${CMAKE_SOURCE_DIR}/email-core/email-core-mime.c
215 ${CMAKE_SOURCE_DIR}/email-core/email-core-gmime.c
216 ${CMAKE_SOURCE_DIR}/email-core/email-core-task-manager.c
217 ${CMAKE_SOURCE_DIR}/email-core/email-core-tasks.c
218 ${CMAKE_SOURCE_DIR}/email-core/email-core-signal.c
219 ${CMAKE_SOURCE_DIR}/email-core/email-core-alarm.c
220 ${CMAKE_SOURCE_DIR}/email-core/email-core-auto-download.c
221 ${CMAKE_SOURCE_DIR}/email-core/email-core-key-manager.c
222 ${CMAKE_SOURCE_DIR}/email-core/email-core-dpm.c
226 ${CMAKE_SOURCE_DIR}/email-common-use/include
227 ${CMAKE_SOURCE_DIR}/email-core/include
228 ${CMAKE_SOURCE_DIR}/email-core/email-storage/include
229 ${CMAKE_SOURCE_DIR}/email-core/email-network/include
230 ${CMAKE_SOURCE_DIR}/email-core/email-device/include
231 ${CMAKE_SOURCE_DIR}/email-ipc/email-activation/include/
235 INCLUDE(FindPkgConfig)
236 SET(PKG_MODULES glib-2.0 dlog dbus-1 gthread-2.0 key-manager tpkp-curl
237 uw-imap-toolkit vconf vconf-internal-keys contacts-service2
238 openssl1.1 accounts-svc alarm-service notification libcurl libxml-2.0
239 cert-svc-vcore badge capi-appfw-application icu-i18n gmime-2.6 storage dpm cryptsvc)
241 pkg_check_modules(core_pkgs REQUIRED ${PKG_MODULES})
244 FOREACH(flag ${core_pkgs_CFLAGS})
245 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
248 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
250 #message(">> core extra raw: ${core_pkgs_CFLAGS}")
251 #message(">> core extra : ${EXTRA_CFLAGS}")
252 #message(">> core result: ${CMAKE_C_FLAGS}")
254 ADD_DEFINITIONS("-DCREATEPROTO=unixproto")
255 ADD_DEFINITIONS("-DEMPTYPROTO=unixproto")
256 ADD_DEFINITIONS("-DMAILSPOOL=\"/var/spool/mail\"")
257 ADD_DEFINITIONS("-DANONYMOUSHOME=\"/var/spool/mail/anonymous\"")
258 ADD_DEFINITIONS("-DACTIVEFILE=\"/var/lib/news/active\"")
259 ADD_DEFINITIONS("-DNEWSSPOOL=\"/var/spool/news\"")
260 ADD_DEFINITIONS("-DRSHPATH=\"/usr/bin/rsh\"")
261 ADD_DEFINITIONS("-DMD5ENABLE=\"/etc/cram-md5.pwd\"")
262 ADD_DEFINITIONS("-DSSL_CERT_DIRECTORY=\"${TZ_SYS_ETC}/ssl/certs\"")
263 ADD_DEFINITIONS("-DSSL_KEY_DIRECTORY=\"${TZ_SYS_ETC}/ssl/certs\"")
264 ADD_DEFINITIONS("-DCHUNKSIZE=65536")
265 ADD_DEFINITIONS("-DLOCKPGM=\"\"")
266 ADD_DEFINITIONS("-DLOCKPGM1=\"/usr/libexec/mlock\"")
267 ADD_DEFINITIONS("-DLOCKPGM2=\"/usr/sbin/mlock\"")
268 ADD_DEFINITIONS("-DLOCKPGM3=\"/usr/etc/mlock\"")
269 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
271 ADD_LIBRARY(${CORE-LIB} SHARED ${CORE-SRCS})
272 TARGET_LINK_LIBRARIES(${CORE-LIB} ${core_pkgs_LDFLAGS} ${STORAGE-LIB} ${NETWORK-LIB} ${DEVICE-LIB} ${CONTAINER-LIB} ${CYNARA-LIB})
273 SET_TARGET_PROPERTIES(${CORE-LIB} PROPERTIES SOVERSION ${VERSION_MAJOR})
274 SET_TARGET_PROPERTIES(${CORE-LIB} PROPERTIES VERSION ${VERSION})
276 INSTALL(TARGETS ${CORE-LIB} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
278 ##########################################################
280 ##########################################################
282 SET(SMIME-LIB "email-smime")
284 ${CMAKE_SOURCE_DIR}/email-core/email-core-smime.c
285 ${CMAKE_SOURCE_DIR}/email-core/email-core-cert.c
286 ${CMAKE_SOURCE_DIR}/email-core/email-core-pgp.c
290 ${CMAKE_SOURCE_DIR}/email-common-use/include
291 ${CMAKE_SOURCE_DIR}/email-core/include
292 ${CMAKE_SOURCE_DIR}/email-core/email-storage/include
296 INCLUDE(FindPkgConfig)
297 pkg_check_modules(smime_pkgs REQUIRED glib-2.0 dlog cert-svc-vcore)
300 FOREACH(flag ${smime_pkgs_CFLAGS})
301 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
304 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
306 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
308 ADD_LIBRARY(${SMIME-LIB} SHARED ${SMIME-SRCS})
309 TARGET_LINK_LIBRARIES(${SMIME-LIB} ${smime_pkgs_LDFLAGS})
310 SET_TARGET_PROPERTIES(${SMIME-LIB} PROPERTIES SOVERSION ${VERSION_MAJOR})
311 SET_TARGET_PROPERTIES(${SMIME-LIB} PROPERTIES VERSION ${VERSION})
313 INSTALL(TARGETS ${SMIME-LIB} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)