Remove Profile Build Dependency and Model-Build-Features
[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/config.cpp
8     src/option.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/sdk/sdk_option.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/cbhm.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 pkg_check_modules(ISE_PKGS REQUIRED
52         elementary
53         efl-extension
54         dlog
55         libscl-ui
56         libscl-core
57         ecore-imf
58         isf
59         vconf
60         libxml-2.0
61         stt
62         capi-appfw-application
63         capi-media-audio-io
64         )
65
66 FOREACH(flag ${ISE_PKGS_CFLAGS})
67     SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
68 ENDFOREACH(flag)
69
70 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall")
71 #SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -finstrument-functions")
72 SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
73 SET(CMAKE_CXX_FLAGS_RELEASE "-O2 -g")
74
75 ADD_DEFINITIONS("-DPACKAGE=\"${ISE_PACKAGE}\"")
76 ADD_DEFINITIONS("-DPACKAGE_NAME=\"${ISE_PKGNAME}\"")
77 ADD_DEFINITIONS("-DRESDIR=\"${ISE_RESDIR}\"")
78 ADD_DEFINITIONS("-DLAYOUTDIR=\"${ISE_LAYOUTDIR}\"")
79 ADD_DEFINITIONS(-DISE_NAME=\"/ise-default\")
80 ADD_DEFINITIONS(-DSUPPORTS_EMOTICONS)
81
82 ADD_EXECUTABLE(${PROJECT_NAME} ${ISE_SRCS})
83
84 # For edc File
85 ADD_CUSTOM_TARGET(
86     candidate-single.edj
87     COMMAND edje_cc -no-save
88         -id ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-single
89         -sd ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-single
90         ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-single/candidate.edc
91         ${CMAKE_BINARY_DIR}/candidate-single.edj
92     DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-single/candidate.edc
93 )
94 ADD_DEPENDENCIES(${PROJECT_NAME} candidate-single.edj)
95 INSTALL(FILES ${CMAKE_BINARY_DIR}/candidate-single.edj DESTINATION ${ISE_LAYOUTDIR}/sdk/edc)
96 # For edc File end
97 # For edc File
98 ADD_CUSTOM_TARGET(
99     candidate-multiline.edj
100     COMMAND edje_cc -no-save
101         -id ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-multiline
102         -sd ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-multiline
103         ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-multiline/candidate.edc
104         ${CMAKE_BINARY_DIR}/candidate-multiline.edj
105     DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-multiline/candidate.edc
106 )
107 ADD_DEPENDENCIES(${PROJECT_NAME} candidate-multiline.edj)
108 INSTALL(FILES ${CMAKE_BINARY_DIR}/candidate-multiline.edj DESTINATION ${ISE_LAYOUTDIR}/sdk/edc)
109 # For edc File end
110 # For edc File
111 ADD_CUSTOM_TARGET(
112     customised_gengrid.edj
113     COMMAND edje_cc -no-save
114         -id ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid
115         -sd ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid
116         ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid/customised_gengrid.edc
117         ${CMAKE_BINARY_DIR}/customised_gengrid.edj
118     DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid/customised_gengrid.edc)
119 ADD_DEPENDENCIES(${PROJECT_NAME} customised_gengrid.edj)
120 INSTALL(FILES ${CMAKE_BINARY_DIR}/customised_gengrid.edj DESTINATION ${ISE_LAYOUTDIR}/sdk/edc)
121
122 ADD_CUSTOM_TARGET(
123     layout_keypad.edj
124     COMMAND edje_cc -no-save
125         ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid/layout_keypad.edc
126         ${CMAKE_BINARY_DIR}/layout_keypad.edj
127         DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid/layout_keypad.edc)
128 ADD_DEPENDENCIES(${PROJECT_NAME} layout_keypad.edj)
129 INSTALL(FILES ${CMAKE_BINARY_DIR}/layout_keypad.edj DESTINATION ${ISE_LAYOUTDIR}/sdk/edc)
130
131 if(${TARGET} STREQUAL "wearable")
132 file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/res/wearable/edje)
133 ADD_CUSTOM_TARGET(w-input-stt.edj COMMAND edje_cc
134         -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/wearable/images
135         ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/w-input-stt.edc
136         ${CMAKE_BINARY_DIR}/res/wearable/edje/w-input-stt.edj
137         DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/w-input-stt.edc)
138 ADD_DEPENDENCIES(${PROJECT_NAME} w-input-stt.edj)
139 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/wearable/edje/w-input-stt.edj DESTINATION
140 ${ISE_RESDIR}/edje/wearable)
141
142 ADD_CUSTOM_TARGET(w-input-stt-button.edj COMMAND edje_cc
143         -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/wearable/images
144         ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/w-input-stt-button.edc
145         ${CMAKE_BINARY_DIR}/res/wearable/edje/w-input-stt-button.edj
146         DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/w-input-stt-button.edc)
147 ADD_DEPENDENCIES(${PROJECT_NAME} w-input-stt-button.edj)
148 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/wearable/edje/w-input-stt-button.edj DESTINATION
149 ${ISE_RESDIR}/edje/wearable)
150
151 else()
152 file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/res/mobile/edje)
153 ADD_CUSTOM_TARGET(w-input-stt.edj COMMAND edje_cc
154         -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/mobile/images
155         ${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/edje/w-input-stt.edc
156         ${CMAKE_BINARY_DIR}/res/mobile/edje/w-input-stt.edj
157         DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/edje/w-input-stt.edc)
158 ADD_DEPENDENCIES(${PROJECT_NAME} w-input-stt.edj)
159 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/mobile/edje/w-input-stt.edj DESTINATION
160 ${ISE_RESDIR}/edje/mobile)
161
162 ADD_CUSTOM_TARGET(w-input-stt-button.edj COMMAND edje_cc
163         -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/mobile/images
164         ${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/edje/w-input-stt-button.edc
165         ${CMAKE_BINARY_DIR}/res/mobile/edje/w-input-stt-button.edj
166         DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/edje/w-input-stt-button.edc)
167 ADD_DEPENDENCIES(${PROJECT_NAME} w-input-stt-button.edj)
168 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/mobile/edje/w-input-stt-button.edj DESTINATION
169 ${ISE_RESDIR}/edje/mobile)
170 endif()
171
172 # For edc File end
173
174 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${ISE_PKGS_LDFLAGS})
175
176 set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "")
177 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${ISE_BINDIR})
178
179 INSTALL(FILES ${CMAKE_SOURCE_DIR}/${PROJECT_NAME}.xml DESTINATION
180         ${TZ_SYS_RO_PACKAGES})
181
182 if(${TARGET} STREQUAL "wearable")
183 FILE(GLOB_RECURSE ISE_DEFAULT_IMAGES "${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/images/*.png")
184 INSTALL(FILES ${ISE_DEFAULT_IMAGES} DESTINATION ${ISE_RESDIR}/wearable/images)
185 else()
186 FILE(GLOB_RECURSE ISE_DEFAULT_IMAGES "${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/images/*.png")
187 INSTALL(FILES ${ISE_DEFAULT_IMAGES} DESTINATION ${ISE_RESDIR}/mobile/images)
188 endif()
189
190 if(${TARGET} STREQUAL "tv")
191 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/pixmaps/default/tv/
192         DESTINATION ${ISE_LAYOUTDIR}/tv/image)
193 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/layout/tv/ DESTINATION
194         ${ISE_LAYOUTDIR}/tv FILES_MATCHING PATTERN "*.xml")
195 elseif(${TARGET} STREQUAL "wearable")
196 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/pixmaps/default/wearable/
197         DESTINATION ${ISE_LAYOUTDIR}/wearable/image)
198 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/layout/wearable/ DESTINATION
199         ${ISE_LAYOUTDIR}/wearable FILES_MATCHING PATTERN "*.xml")
200 else()
201 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/pixmaps/default/mobile/
202         DESTINATION ${ISE_LAYOUTDIR}/mobile/image)
203 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/layout/mobile/ DESTINATION
204         ${ISE_LAYOUTDIR}/mobile FILES_MATCHING PATTERN "*.xml")
205 endif()
206
207 ADD_SUBDIRECTORY(po)