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