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