1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(ise-default CXX)
7 src/ise-language-change.cpp
8 src/ise-tutorial-mode.cpp
12 src/ise-stt-option.cpp
13 src/ise-stt-common.cpp
14 src/ise-floating-mode.cpp
18 src/WInputSttMicEffect.cpp
19 src/sdk/ise_lang_table.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
29 src/ise-emoticon-list.cpp
30 src/ise-emoticon-mode.cpp
34 src/w-input-smartreply.cpp
39 src/ise-stt-option.cpp
41 src/sdk/sdk_option.cpp
44 src/sdk/ise_lang_table.cpp
48 FIND_PROGRAM(UNAME NAMES uname)
49 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
50 MESSAGE(STATUS "======================================")
51 IF("${ARCH}" MATCHES "^arm.*")
52 #MESSAGE(STATUS "Arch - arm")
53 SET(SRC_LIB_DIR "${CMAKE_SOURCE_DIR}/lib/armv7l")
54 ELSEIF("${ARCH}" MATCHES "^i586.*")
55 #MESSAGE(STATUS "Arch - i586")
56 SET(SRC_LIB_DIR "${CMAKE_SOURCE_DIR}/lib/i586")
57 ELSEIF("${ARCH}" MATCHES "^i686.*")
58 #MESSAGE(STATUS "Arch - 686")
59 SET(SRC_LIB_DIR "${CMAKE_SOURCE_DIR}/lib/i586")
62 SET(ISE_PACKAGE ${PROJECT_NAME})
63 SET(ISE_PKGNAME ${PACKAGE})
64 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
65 SET(ISE_BINDIR "${TZ_SYS_RO_APP}/${ISE_PACKAGE}/bin")
66 SET(ISE_LIBDIR "${TZ_SYS_RO_APP}/${ISE_PACKAGE}/lib")
67 SET(ISE_RESDIR "${TZ_SYS_RO_APP}/${ISE_PACKAGE}/res")
68 SET(ISE_LAYOUTDIR "${ISE_RESDIR}/720x1280/default")
69 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
70 SET(CMAKE_BUILD_TYPE "Release")
72 MESSAGE(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
74 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/include
75 ${CMAKE_SOURCE_DIR}/src
76 ${CMAKE_SOURCE_DIR}/src/candidate/include
77 ${CMAKE_SOURCE_DIR}/src/candidate/efl
80 INCLUDE(FindPkgConfig)
81 SET(PKGS_CHECK_MODULES
90 capi-appfw-application
94 capi-system-system-settings
103 ADD_DEFINITIONS("-DHAVE_CBHM")
104 SET(PKGS_CHECK_MODULES ${PKGS_CHECK_MODULES} cbhm)
107 pkg_check_modules(ISE_PKGS REQUIRED ${PKGS_CHECK_MODULES})
109 FOREACH(flag ${ISE_PKGS_CFLAGS})
110 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
113 SET(SETTING_PKGS_CHECK_MODULES
119 capi-appfw-application
120 capi-appfw-preference
121 capi-system-system-settings
125 pkg_check_modules(ISE_SETTING_PKGS REQUIRED ${SETTING_PKGS_CHECK_MODULES})
127 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -fPIE -Wall -fpermissive -Werror")
128 #SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -finstrument-functions")
129 SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
130 SET(CMAKE_CXX_FLAGS_RELEASE "-O2 -g")
131 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
133 ADD_DEFINITIONS("-DEXPORTED=__attribute__((visibility(\"default\")))")
134 ADD_DEFINITIONS("-DPACKAGE=\"${ISE_PACKAGE}\"")
135 ADD_DEFINITIONS("-DPACKAGE_NAME=\"${ISE_PKGNAME}\"")
136 ADD_DEFINITIONS("-DRESDIR=\"${ISE_RESDIR}\"")
137 ADD_DEFINITIONS("-DLAYOUTDIR=\"${ISE_LAYOUTDIR}\"")
138 ADD_DEFINITIONS(-DISE_NAME=\"/ise-default\")
139 ADD_DEFINITIONS(-DSUPPORTS_EMOTICONS)
141 IF(NOT "${SRC_LIB_DIR}" STREQUAL "")
142 ADD_DEFINITIONS(-DSUPPORT_VOICETYPING)
143 LINK_DIRECTORIES(${SRC_LIB_DIR})
146 ADD_EXECUTABLE(${PROJECT_NAME} ${ISE_SRCS})
148 ADD_EXECUTABLE(${PROJECT_NAME}-setting ${ISE_SETTING_SRCS})
153 COMMAND edje_cc -no-save
154 -id ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-single
155 -sd ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-single
156 ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-single/candidate.edc
157 ${CMAKE_BINARY_DIR}/candidate-single.edj
158 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-single/candidate.edc
160 ADD_DEPENDENCIES(${PROJECT_NAME} candidate-single.edj)
161 INSTALL(FILES ${CMAKE_BINARY_DIR}/candidate-single.edj DESTINATION ${ISE_RESDIR}/edje)
165 candidate-multiline.edj
166 COMMAND edje_cc -no-save
167 -id ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-multiline
168 -sd ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-multiline
169 ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-multiline/candidate.edc
170 ${CMAKE_BINARY_DIR}/candidate-multiline.edj
171 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-multiline/candidate.edc
173 ADD_DEPENDENCIES(${PROJECT_NAME} candidate-multiline.edj)
174 INSTALL(FILES ${CMAKE_BINARY_DIR}/candidate-multiline.edj DESTINATION ${ISE_RESDIR}/edje)
178 customised_gengrid.edj
179 COMMAND edje_cc -no-save
180 -id ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid
181 -sd ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid
182 ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid/customised_gengrid.edc
183 ${CMAKE_BINARY_DIR}/customised_gengrid.edj
184 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid/customised_gengrid.edc)
185 ADD_DEPENDENCIES(${PROJECT_NAME} customised_gengrid.edj)
186 INSTALL(FILES ${CMAKE_BINARY_DIR}/customised_gengrid.edj DESTINATION ${ISE_RESDIR}/edje)
190 COMMAND edje_cc -no-save
191 ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid/layout_keypad.edc
192 ${CMAKE_BINARY_DIR}/layout_keypad.edj
193 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid/layout_keypad.edc)
194 ADD_DEPENDENCIES(${PROJECT_NAME} layout_keypad.edj)
195 INSTALL(FILES ${CMAKE_BINARY_DIR}/layout_keypad.edj DESTINATION ${ISE_RESDIR}/edje)
197 ADD_CUSTOM_TARGET( customised_ctxpopup.edj COMMAND edje_cc
198 -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/mobile
199 -sd ${CMAKE_CURRENT_SOURCE_DIR}/edje/mobile
200 ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/customised_ctxpopup.edc
201 ${CMAKE_BINARY_DIR}/customised_ctxpopup.edj
202 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/customised_ctxpopup.edc)
203 ADD_DEPENDENCIES(${PROJECT_NAME} customised_ctxpopup.edj)
204 INSTALL(FILES ${CMAKE_BINARY_DIR}/customised_ctxpopup.edj DESTINATION ${ISE_RESDIR}/edje/mobile)
206 if(${TARGET} STREQUAL "wearable")
207 file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/res/wearable/edje)
208 ADD_CUSTOM_TARGET(w-input-stt.edj COMMAND edje_cc
209 -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/wearable/images
210 ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/w-input-stt.edc
211 ${CMAKE_BINARY_DIR}/res/wearable/edje/w-input-stt.edj
212 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/w-input-stt.edc)
213 ADD_DEPENDENCIES(${PROJECT_NAME} w-input-stt.edj)
214 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/wearable/edje/w-input-stt.edj DESTINATION
215 ${ISE_RESDIR}/edje/wearable)
217 ADD_CUSTOM_TARGET(popup_custom.edj COMMAND edje_cc
218 -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/wearable/images
219 ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/popup_custom.edc
220 ${CMAKE_BINARY_DIR}/res/wearable/edje/popup_custom.edj
221 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/popup_custom.edc)
222 ADD_DEPENDENCIES(${PROJECT_NAME} popup_custom.edj)
223 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/wearable/edje/popup_custom.edj DESTINATION
224 ${ISE_RESDIR}/edje/wearable)
226 ADD_CUSTOM_TARGET(tutorial_popup.edj COMMAND edje_cc
227 -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/wearable/images
228 ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/tutorial_popup.edc
229 ${CMAKE_BINARY_DIR}/res/wearable/edje/tutorial_popup.edj
230 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/tutorial_popup.edc)
231 ADD_DEPENDENCIES(${PROJECT_NAME} tutorial_popup.edj)
232 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/wearable/edje/tutorial_popup.edj DESTINATION
233 ${ISE_RESDIR}/edje/wearable)
235 ADD_CUSTOM_TARGET(w-input-stt-button.edj COMMAND edje_cc
236 -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/wearable/images
237 ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/w-input-stt-button.edc
238 ${CMAKE_BINARY_DIR}/res/wearable/edje/w-input-stt-button.edj
239 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/w-input-stt-button.edc)
240 ADD_DEPENDENCIES(${PROJECT_NAME} w-input-stt-button.edj)
241 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/wearable/edje/w-input-stt-button.edj DESTINATION
242 ${ISE_RESDIR}/edje/wearable)
244 elseif(${TARGET} STREQUAL "tv")
245 file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/res/tv/edje)
246 ADD_CUSTOM_TARGET(w-input-stt.edj COMMAND edje_cc
247 -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/tv/images
248 ${CMAKE_CURRENT_SOURCE_DIR}/res/tv/edje/w-input-stt.edc
249 ${CMAKE_BINARY_DIR}/res/tv/edje/w-input-stt.edj
250 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/tv/edje/w-input-stt.edc)
251 ADD_DEPENDENCIES(${PROJECT_NAME} w-input-stt.edj)
252 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/tv/edje/w-input-stt.edj DESTINATION
253 ${ISE_RESDIR}/edje/tv)
255 ADD_CUSTOM_TARGET(w-input-stt-button.edj COMMAND edje_cc
256 -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/tv/images
257 ${CMAKE_CURRENT_SOURCE_DIR}/res/tv/edje/w-input-stt-button.edc
258 ${CMAKE_BINARY_DIR}/res/tv/edje/w-input-stt-button.edj
259 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/tv/edje/w-input-stt-button.edc)
260 ADD_DEPENDENCIES(${PROJECT_NAME} w-input-stt-button.edj)
261 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/tv/edje/w-input-stt-button.edj DESTINATION
262 ${ISE_RESDIR}/edje/tv)
264 ADD_CUSTOM_TARGET(popup_custom.edj COMMAND edje_cc
265 -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/tv/images
266 ${CMAKE_CURRENT_SOURCE_DIR}/res/tv/edje/popup_custom.edc
267 ${CMAKE_BINARY_DIR}/res/tv/edje/popup_custom.edj
268 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/tv/edje/popup_custom.edc)
269 ADD_DEPENDENCIES(${PROJECT_NAME} popup_custom.edj)
270 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/tv/edje/popup_custom.edj DESTINATION
271 ${ISE_RESDIR}/edje/tv)
273 ADD_CUSTOM_TARGET(popup_keyboard.edj COMMAND edje_cc
274 -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/tv/images
275 ${CMAKE_CURRENT_SOURCE_DIR}/res/tv/edje/popup_keyboard.edc
276 ${CMAKE_BINARY_DIR}/res/tv/edje/popup_keyboard.edj
277 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/tv/edje/popup_keyboard.edc)
278 ADD_DEPENDENCIES(${PROJECT_NAME} popup_keyboard.edj)
279 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/tv/edje/popup_keyboard.edj DESTINATION
280 ${ISE_RESDIR}/edje/tv)
283 file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/res/mobile/edje)
284 ADD_CUSTOM_TARGET(w-input-stt.edj COMMAND edje_cc
285 -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/mobile/images
286 ${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/edje/w-input-stt.edc
287 ${CMAKE_BINARY_DIR}/res/mobile/edje/w-input-stt.edj
288 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/edje/w-input-stt.edc)
289 ADD_DEPENDENCIES(${PROJECT_NAME} w-input-stt.edj)
290 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/mobile/edje/w-input-stt.edj DESTINATION
291 ${ISE_RESDIR}/edje/mobile)
293 ADD_CUSTOM_TARGET(w-input-stt-button.edj COMMAND edje_cc
294 -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/mobile/images
295 ${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/edje/w-input-stt-button.edc
296 ${CMAKE_BINARY_DIR}/res/mobile/edje/w-input-stt-button.edj
297 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/edje/w-input-stt-button.edc)
298 ADD_DEPENDENCIES(${PROJECT_NAME} w-input-stt-button.edj)
299 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/mobile/edje/w-input-stt-button.edj DESTINATION
300 ${ISE_RESDIR}/edje/mobile)
302 ADD_CUSTOM_TARGET(popup_custom.edj COMMAND edje_cc
303 -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/mobile/images
304 ${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/edje/popup_custom.edc
305 ${CMAKE_BINARY_DIR}/res/mobile/edje/popup_custom.edj
306 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/edje/popup_custom.edc)
307 ADD_DEPENDENCIES(${PROJECT_NAME} popup_custom.edj)
308 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/mobile/edje/popup_custom.edj DESTINATION
309 ${ISE_RESDIR}/edje/mobile)
313 IF(NOT "${SRC_LIB_DIR}" STREQUAL "")
314 INSTALL(FILES ${SRC_LIB_DIR}/libsamsung-ai.so DESTINATION ${ISE_LIBDIR})
315 SET(ISE_PKGS_LDFLAGS -Llib -lsamsung-ai ${ISE_PKGS_LDFLAGS})
318 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${ISE_PKGS_LDFLAGS})
319 TARGET_LINK_LIBRARIES(${PROJECT_NAME}-setting ${ISE_SETTING_PKGS_LDFLAGS})
321 set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "")
322 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${ISE_BINDIR})
323 INSTALL(TARGETS ${PROJECT_NAME}-setting DESTINATION ${ISE_BINDIR})
325 INSTALL(FILES ${CMAKE_SOURCE_DIR}/${PROJECT_NAME}.xml DESTINATION
326 ${TZ_SYS_RO_PACKAGES})
328 if(${TARGET} STREQUAL "wearable")
329 FILE(GLOB_RECURSE ISE_DEFAULT_IMAGES "${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/images/*.png")
330 INSTALL(FILES ${ISE_DEFAULT_IMAGES} DESTINATION ${ISE_RESDIR}/wearable/images)
331 elseif(${TARGET} STREQUAL "tv")
332 FILE(GLOB_RECURSE ISE_DEFAULT_IMAGES "${CMAKE_CURRENT_SOURCE_DIR}/res/tv/images/*.png")
333 INSTALL(FILES ${ISE_DEFAULT_IMAGES} DESTINATION ${ISE_RESDIR}/tv/images)
335 FILE(GLOB_RECURSE ISE_DEFAULT_IMAGES "${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/images/*.png")
336 INSTALL(FILES ${ISE_DEFAULT_IMAGES} DESTINATION ${ISE_RESDIR}/mobile/images)
339 if(${TARGET} STREQUAL "tv")
340 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/pixmaps/default/tv/
341 DESTINATION ${ISE_LAYOUTDIR}/tv/image)
342 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/layout/tv/ DESTINATION
343 ${ISE_LAYOUTDIR}/tv FILES_MATCHING PATTERN "*.xml")
344 elseif(${TARGET} STREQUAL "wearable")
345 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/pixmaps/default/wearable/
346 DESTINATION ${ISE_LAYOUTDIR}/wearable/image)
347 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/layout/wearable/ DESTINATION
348 ${ISE_LAYOUTDIR}/wearable FILES_MATCHING PATTERN "*.xml")
350 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/pixmaps/default/mobile/
351 DESTINATION ${ISE_LAYOUTDIR}/mobile/image)
352 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/layout/mobile/ DESTINATION
353 ${ISE_LAYOUTDIR}/mobile FILES_MATCHING PATTERN "*.xml")