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