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