Fix issue preference_changed_cb() isn't registered in encryption mode
[platform/core/uifw/ise-default.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(ise-default CXX)
3
4 SET(ISE_SRCS
5     src/ise.cpp
6     src/languages.cpp
7     src/ise-language-change.cpp
8     src/ise-tutorial-mode.cpp
9     src/config.cpp
10     src/imdata.cpp
11     src/ise-stt-mode.cpp
12     src/ise-stt-option.cpp
13     src/ise-stt-common.cpp
14     src/ise-floating-mode.cpp
15     src/MicEffector.cpp
16     src/SttFeedback.cpp
17     src/SttManager.cpp
18     src/WInputSttMicEffect.cpp
19     src/sdk/ise_lang_table.cpp
20     src/sdk/cji.cpp
21     src/sdk/sdk.cpp
22     src/candidate/candidate-factory.cpp
23     src/candidate/candidate.cpp
24     src/candidate/efl/candidate-efl.cpp
25     src/candidate/efl/candidate-multiline-efl.cpp
26     src/autofill.cpp
27
28     src/ise-emoticon-list.cpp
29     src/ise-emoticon-mode.cpp
30     src/modeindicator.cpp
31     src/eflutil.cpp
32
33     src/w-input-smartreply.cpp
34 )
35
36 SET(ISE_SETTING_SRCS
37     src/config.cpp
38     src/ise-stt-option.cpp
39     src/option.cpp
40     src/sdk/sdk_option.cpp
41     src/eflutil.cpp
42     src/languages.cpp
43     src/sdk/ise_lang_table.cpp
44 )
45
46 SET(ISE_PACKAGE ${PROJECT_NAME})
47 SET(ISE_PKGNAME ${PACKAGE})
48 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
49 SET(ISE_BINDIR "${TZ_SYS_RO_APP}/${ISE_PACKAGE}/bin")
50 SET(ISE_LIBDIR "${TZ_SYS_RO_APP}/${ISE_PACKAGE}/lib")
51 SET(ISE_RESDIR "${TZ_SYS_RO_APP}/${ISE_PACKAGE}/res")
52 SET(ISE_LAYOUTDIR "${ISE_RESDIR}/720x1280/default")
53 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
54     SET(CMAKE_BUILD_TYPE "Release")
55 ENDIF()
56 MESSAGE(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
57
58 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/include
59     ${CMAKE_SOURCE_DIR}/src
60     ${CMAKE_SOURCE_DIR}/src/candidate/include
61     ${CMAKE_SOURCE_DIR}/src/candidate/efl
62 )
63
64 INCLUDE(FindPkgConfig)
65 SET(PKGS_CHECK_MODULES
66         elementary
67         efl-extension
68         dlog
69         libscl-ui
70         ecore-imf
71         vconf
72         libxml-2.0
73         stt
74         capi-appfw-application
75         capi-appfw-preference
76         capi-media-audio-io
77         capi-ui-inputmethod
78         smartreply
79         key-manager
80         ode
81         )
82
83 IF (with_cbhm)
84     ADD_DEFINITIONS("-DHAVE_CBHM")
85     SET(PKGS_CHECK_MODULES ${PKGS_CHECK_MODULES} cbhm)
86 ENDIF(with_cbhm)
87
88 pkg_check_modules(ISE_PKGS REQUIRED ${PKGS_CHECK_MODULES})
89
90 FOREACH(flag ${ISE_PKGS_CFLAGS})
91     SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
92 ENDFOREACH(flag)
93
94 SET(SETTING_PKGS_CHECK_MODULES
95         elementary
96         efl-extension
97         dlog
98         vconf
99         libxml-2.0
100         capi-appfw-application
101         capi-appfw-preference
102         )
103
104 pkg_check_modules(ISE_SETTING_PKGS REQUIRED ${SETTING_PKGS_CHECK_MODULES})
105
106 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -fPIE -Wall -fpermissive -Werror")
107 #SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -finstrument-functions")
108 SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
109 SET(CMAKE_CXX_FLAGS_RELEASE "-O2 -g")
110 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
111
112 ADD_DEFINITIONS("-DEXPORTED=__attribute__((visibility(\"default\")))")
113 ADD_DEFINITIONS("-DPACKAGE=\"${ISE_PACKAGE}\"")
114 ADD_DEFINITIONS("-DPACKAGE_NAME=\"${ISE_PKGNAME}\"")
115 ADD_DEFINITIONS("-DRESDIR=\"${ISE_RESDIR}\"")
116 ADD_DEFINITIONS("-DLAYOUTDIR=\"${ISE_LAYOUTDIR}\"")
117 ADD_DEFINITIONS(-DISE_NAME=\"/ise-default\")
118 ADD_DEFINITIONS(-DSUPPORTS_EMOTICONS)
119
120 ADD_EXECUTABLE(${PROJECT_NAME} ${ISE_SRCS})
121
122 ADD_EXECUTABLE(${PROJECT_NAME}-setting ${ISE_SETTING_SRCS})
123
124 # For edc File
125 ADD_CUSTOM_TARGET(
126     candidate-single.edj
127     COMMAND edje_cc -no-save
128         -id ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-single
129         -sd ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-single
130         ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-single/candidate.edc
131         ${CMAKE_BINARY_DIR}/candidate-single.edj
132     DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-single/candidate.edc
133 )
134 ADD_DEPENDENCIES(${PROJECT_NAME} candidate-single.edj)
135 INSTALL(FILES ${CMAKE_BINARY_DIR}/candidate-single.edj DESTINATION ${ISE_RESDIR}/edje)
136 # For edc File end
137 # For edc File
138 ADD_CUSTOM_TARGET(
139     candidate-multiline.edj
140     COMMAND edje_cc -no-save
141         -id ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-multiline
142         -sd ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-multiline
143         ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-multiline/candidate.edc
144         ${CMAKE_BINARY_DIR}/candidate-multiline.edj
145     DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-multiline/candidate.edc
146 )
147 ADD_DEPENDENCIES(${PROJECT_NAME} candidate-multiline.edj)
148 INSTALL(FILES ${CMAKE_BINARY_DIR}/candidate-multiline.edj DESTINATION ${ISE_RESDIR}/edje)
149 # For edc File end
150 # For edc File
151 ADD_CUSTOM_TARGET(
152     customised_gengrid.edj
153     COMMAND edje_cc -no-save
154         -id ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid
155         -sd ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid
156         ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid/customised_gengrid.edc
157         ${CMAKE_BINARY_DIR}/customised_gengrid.edj
158     DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid/customised_gengrid.edc)
159 ADD_DEPENDENCIES(${PROJECT_NAME} customised_gengrid.edj)
160 INSTALL(FILES ${CMAKE_BINARY_DIR}/customised_gengrid.edj DESTINATION ${ISE_RESDIR}/edje)
161
162 ADD_CUSTOM_TARGET(
163     layout_keypad.edj
164     COMMAND edje_cc -no-save
165         ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid/layout_keypad.edc
166         ${CMAKE_BINARY_DIR}/layout_keypad.edj
167         DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid/layout_keypad.edc)
168 ADD_DEPENDENCIES(${PROJECT_NAME} layout_keypad.edj)
169 INSTALL(FILES ${CMAKE_BINARY_DIR}/layout_keypad.edj DESTINATION ${ISE_RESDIR}/edje)
170
171 ADD_CUSTOM_TARGET( customised_ctxpopup.edj COMMAND edje_cc
172         -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/mobile
173         -sd ${CMAKE_CURRENT_SOURCE_DIR}/edje/mobile
174         ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/customised_ctxpopup.edc
175         ${CMAKE_BINARY_DIR}/customised_ctxpopup.edj
176         DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/customised_ctxpopup.edc)
177 ADD_DEPENDENCIES(${PROJECT_NAME} customised_ctxpopup.edj)
178 INSTALL(FILES ${CMAKE_BINARY_DIR}/customised_ctxpopup.edj DESTINATION ${ISE_RESDIR}/edje/mobile)
179
180 if(${TARGET} STREQUAL "wearable")
181 file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/res/wearable/edje)
182 ADD_CUSTOM_TARGET(w-input-stt.edj COMMAND edje_cc
183         -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/wearable/images
184         ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/w-input-stt.edc
185         ${CMAKE_BINARY_DIR}/res/wearable/edje/w-input-stt.edj
186         DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/w-input-stt.edc)
187 ADD_DEPENDENCIES(${PROJECT_NAME} w-input-stt.edj)
188 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/wearable/edje/w-input-stt.edj DESTINATION
189 ${ISE_RESDIR}/edje/wearable)
190
191 ADD_CUSTOM_TARGET(popup_custom.edj COMMAND edje_cc
192         -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/wearable/images
193         ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/popup_custom.edc
194         ${CMAKE_BINARY_DIR}/res/wearable/edje/popup_custom.edj
195         DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/popup_custom.edc)
196 ADD_DEPENDENCIES(${PROJECT_NAME} popup_custom.edj)
197 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/wearable/edje/popup_custom.edj DESTINATION
198 ${ISE_RESDIR}/edje/wearable)
199
200 ADD_CUSTOM_TARGET(tutorial_popup.edj COMMAND edje_cc
201         -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/wearable/images
202         ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/tutorial_popup.edc
203         ${CMAKE_BINARY_DIR}/res/wearable/edje/tutorial_popup.edj
204         DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/tutorial_popup.edc)
205 ADD_DEPENDENCIES(${PROJECT_NAME} tutorial_popup.edj)
206 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/wearable/edje/tutorial_popup.edj DESTINATION
207 ${ISE_RESDIR}/edje/wearable)
208
209 ADD_CUSTOM_TARGET(w-input-stt-button.edj COMMAND edje_cc
210         -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/wearable/images
211         ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/w-input-stt-button.edc
212         ${CMAKE_BINARY_DIR}/res/wearable/edje/w-input-stt-button.edj
213         DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/w-input-stt-button.edc)
214 ADD_DEPENDENCIES(${PROJECT_NAME} w-input-stt-button.edj)
215 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/wearable/edje/w-input-stt-button.edj DESTINATION
216 ${ISE_RESDIR}/edje/wearable)
217
218 elseif(${TARGET} STREQUAL "tv")
219 file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/res/tv/edje)
220 ADD_CUSTOM_TARGET(w-input-stt.edj COMMAND edje_cc
221         -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/tv/images
222         ${CMAKE_CURRENT_SOURCE_DIR}/res/tv/edje/w-input-stt.edc
223         ${CMAKE_BINARY_DIR}/res/tv/edje/w-input-stt.edj
224         DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/tv/edje/w-input-stt.edc)
225 ADD_DEPENDENCIES(${PROJECT_NAME} w-input-stt.edj)
226 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/tv/edje/w-input-stt.edj DESTINATION
227 ${ISE_RESDIR}/edje/tv)
228
229 ADD_CUSTOM_TARGET(w-input-stt-button.edj COMMAND edje_cc
230         -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/tv/images
231         ${CMAKE_CURRENT_SOURCE_DIR}/res/tv/edje/w-input-stt-button.edc
232         ${CMAKE_BINARY_DIR}/res/tv/edje/w-input-stt-button.edj
233         DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/tv/edje/w-input-stt-button.edc)
234 ADD_DEPENDENCIES(${PROJECT_NAME} w-input-stt-button.edj)
235 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/tv/edje/w-input-stt-button.edj DESTINATION
236 ${ISE_RESDIR}/edje/tv)
237
238 ADD_CUSTOM_TARGET(popup_custom.edj COMMAND edje_cc
239         -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/tv/images
240         ${CMAKE_CURRENT_SOURCE_DIR}/res/tv/edje/popup_custom.edc
241         ${CMAKE_BINARY_DIR}/res/tv/edje/popup_custom.edj
242         DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/tv/edje/popup_custom.edc)
243 ADD_DEPENDENCIES(${PROJECT_NAME} popup_custom.edj)
244 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/tv/edje/popup_custom.edj DESTINATION
245 ${ISE_RESDIR}/edje/tv)
246
247 ADD_CUSTOM_TARGET(popup_keyboard.edj COMMAND edje_cc
248         -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/tv/images
249         ${CMAKE_CURRENT_SOURCE_DIR}/res/tv/edje/popup_keyboard.edc
250         ${CMAKE_BINARY_DIR}/res/tv/edje/popup_keyboard.edj
251         DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/tv/edje/popup_keyboard.edc)
252 ADD_DEPENDENCIES(${PROJECT_NAME} popup_keyboard.edj)
253 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/tv/edje/popup_keyboard.edj DESTINATION
254 ${ISE_RESDIR}/edje/tv)
255
256 else()
257 file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/res/mobile/edje)
258 ADD_CUSTOM_TARGET(w-input-stt.edj COMMAND edje_cc
259         -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/mobile/images
260         ${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/edje/w-input-stt.edc
261         ${CMAKE_BINARY_DIR}/res/mobile/edje/w-input-stt.edj
262         DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/edje/w-input-stt.edc)
263 ADD_DEPENDENCIES(${PROJECT_NAME} w-input-stt.edj)
264 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/mobile/edje/w-input-stt.edj DESTINATION
265 ${ISE_RESDIR}/edje/mobile)
266
267 ADD_CUSTOM_TARGET(w-input-stt-button.edj COMMAND edje_cc
268         -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/mobile/images
269         ${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/edje/w-input-stt-button.edc
270         ${CMAKE_BINARY_DIR}/res/mobile/edje/w-input-stt-button.edj
271         DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/edje/w-input-stt-button.edc)
272 ADD_DEPENDENCIES(${PROJECT_NAME} w-input-stt-button.edj)
273 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/mobile/edje/w-input-stt-button.edj DESTINATION
274 ${ISE_RESDIR}/edje/mobile)
275
276 ADD_CUSTOM_TARGET(popup_custom.edj COMMAND edje_cc
277         -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/mobile/images
278         ${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/edje/popup_custom.edc
279         ${CMAKE_BINARY_DIR}/res/mobile/edje/popup_custom.edj
280         DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/edje/popup_custom.edc)
281 ADD_DEPENDENCIES(${PROJECT_NAME} popup_custom.edj)
282 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/mobile/edje/popup_custom.edj DESTINATION
283 ${ISE_RESDIR}/edje/mobile)
284 endif()
285
286 # For edc File end
287
288 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${ISE_PKGS_LDFLAGS})
289 TARGET_LINK_LIBRARIES(${PROJECT_NAME}-setting ${ISE_SETTING_PKGS_LDFLAGS})
290
291 set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "")
292 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${ISE_BINDIR})
293 INSTALL(TARGETS ${PROJECT_NAME}-setting DESTINATION ${ISE_BINDIR})
294
295 INSTALL(FILES ${CMAKE_SOURCE_DIR}/${PROJECT_NAME}.xml DESTINATION
296         ${TZ_SYS_RO_PACKAGES})
297
298 if(${TARGET} STREQUAL "wearable")
299 FILE(GLOB_RECURSE ISE_DEFAULT_IMAGES "${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/images/*.png")
300 INSTALL(FILES ${ISE_DEFAULT_IMAGES} DESTINATION ${ISE_RESDIR}/wearable/images)
301 elseif(${TARGET} STREQUAL "tv")
302 FILE(GLOB_RECURSE ISE_DEFAULT_IMAGES "${CMAKE_CURRENT_SOURCE_DIR}/res/tv/images/*.png")
303 INSTALL(FILES ${ISE_DEFAULT_IMAGES} DESTINATION ${ISE_RESDIR}/tv/images)
304 else()
305 FILE(GLOB_RECURSE ISE_DEFAULT_IMAGES "${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/images/*.png")
306 INSTALL(FILES ${ISE_DEFAULT_IMAGES} DESTINATION ${ISE_RESDIR}/mobile/images)
307 endif()
308
309 if(${TARGET} STREQUAL "tv")
310 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/pixmaps/default/tv/
311         DESTINATION ${ISE_LAYOUTDIR}/tv/image)
312 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/layout/tv/ DESTINATION
313         ${ISE_LAYOUTDIR}/tv FILES_MATCHING PATTERN "*.xml")
314 elseif(${TARGET} STREQUAL "wearable")
315 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/pixmaps/default/wearable/
316         DESTINATION ${ISE_LAYOUTDIR}/wearable/image)
317 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/layout/wearable/ DESTINATION
318         ${ISE_LAYOUTDIR}/wearable FILES_MATCHING PATTERN "*.xml")
319 else()
320 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/pixmaps/default/mobile/
321         DESTINATION ${ISE_LAYOUTDIR}/mobile/image)
322 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/layout/mobile/ DESTINATION
323         ${ISE_LAYOUTDIR}/mobile FILES_MATCHING PATTERN "*.xml")
324 endif()
325
326 ADD_SUBDIRECTORY(po)