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