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