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