Merge "Add voice feature" into tizen
[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-engine.cpp
11     src/ise-stt-mode.cpp
12     src/ise-stt-option.cpp
13     src/sdk/ise_lang_table.cpp
14     src/sdk/sdk.cpp
15     src/sdk/sdk_option.cpp
16     src/candidate/candidate-factory.cpp
17     src/candidate/candidate.cpp
18     src/candidate/efl/candidate-efl.cpp
19     src/candidate/efl/candidate-multiline-efl.cpp
20
21     src/ise-emoticon-list.cpp
22     src/ise-emoticon-mode.cpp
23     src/cbhm.cpp
24 )
25
26 SET(ISE_PACKAGE ${PROJECT_NAME})
27 SET(ISE_PKGNAME ${PACKAGE})
28 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
29 SET(ISE_BINDIR "${TZ_SYS_RO_APP}/${ISE_PACKAGE}/bin")
30 SET(ISE_LIBDIR "${TZ_SYS_RO_APP}/${ISE_PACKAGE}/lib")
31 SET(ISE_RESDIR "${TZ_SYS_RO_APP}/${ISE_PACKAGE}/res")
32 SET(ISE_LAYOUTDIR "${ISE_RESDIR}/720x1280/default")
33 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
34     SET(CMAKE_BUILD_TYPE "Release")
35 ENDIF()
36 MESSAGE(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
37
38 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/include
39     ${CMAKE_SOURCE_DIR}/src
40     ${CMAKE_SOURCE_DIR}/src/candidate/include
41     ${CMAKE_SOURCE_DIR}/src/candidate/efl
42 )
43
44 INCLUDE(FindPkgConfig)
45 pkg_check_modules(ISE_PKGS REQUIRED
46         elementary
47         efl-extension
48         dlog
49         libscl-ui
50         libscl-core
51         ecore-imf
52         isf
53         vconf
54         libxml-2.0
55         stt
56         capi-appfw-application
57         )
58
59 FOREACH(flag ${ISE_PKGS_CFLAGS})
60     SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
61 ENDFOREACH(flag)
62
63 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall")
64 #SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -finstrument-functions")
65 SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
66 SET(CMAKE_CXX_FLAGS_RELEASE "-O2 -g")
67
68 ADD_DEFINITIONS("-DPACKAGE=\"${ISE_PACKAGE}\"")
69 ADD_DEFINITIONS("-DPACKAGE_NAME=\"${ISE_PKGNAME}\"")
70 ADD_DEFINITIONS("-DRESDIR=\"${ISE_RESDIR}\"")
71 ADD_DEFINITIONS("-DLAYOUTDIR=\"${ISE_LAYOUTDIR}\"")
72 ADD_DEFINITIONS(-DISE_NAME=\"/ise-default\")
73 ADD_DEFINITIONS(-DSUPPORTS_EMOTICONS)
74
75 ADD_EXECUTABLE(${PROJECT_NAME} ${ISE_SRCS})
76
77 # For edc File
78 ADD_CUSTOM_TARGET(
79     candidate-single.edj
80     COMMAND edje_cc -no-save
81         -id ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-single
82         -sd ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-single
83         ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-single/candidate.edc
84         ${CMAKE_BINARY_DIR}/candidate-single.edj
85     DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-single/candidate.edc
86 )
87 ADD_DEPENDENCIES(${PROJECT_NAME} candidate-single.edj)
88 INSTALL(FILES ${CMAKE_BINARY_DIR}/candidate-single.edj DESTINATION ${ISE_LAYOUTDIR}/sdk/edc)
89 # For edc File end
90 # For edc File
91 ADD_CUSTOM_TARGET(
92     candidate-multiline.edj
93     COMMAND edje_cc -no-save
94         -id ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-multiline
95         -sd ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-multiline
96         ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-multiline/candidate.edc
97         ${CMAKE_BINARY_DIR}/candidate-multiline.edj
98     DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/candidate-multiline/candidate.edc
99 )
100 ADD_DEPENDENCIES(${PROJECT_NAME} candidate-multiline.edj)
101 INSTALL(FILES ${CMAKE_BINARY_DIR}/candidate-multiline.edj DESTINATION ${ISE_LAYOUTDIR}/sdk/edc)
102 # For edc File end
103 # For edc File
104 ADD_CUSTOM_TARGET(
105     customised_gengrid.edj
106     COMMAND edje_cc -no-save
107         -id ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid
108         -sd ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid
109         ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid/customised_gengrid.edc
110         ${CMAKE_BINARY_DIR}/customised_gengrid.edj
111     DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid/customised_gengrid.edc)
112 ADD_DEPENDENCIES(${PROJECT_NAME} customised_gengrid.edj)
113 INSTALL(FILES ${CMAKE_BINARY_DIR}/customised_gengrid.edj DESTINATION ${ISE_LAYOUTDIR}/sdk/edc)
114
115 ADD_CUSTOM_TARGET(
116     layout_keypad.edj
117     COMMAND edje_cc -no-save
118         ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid/layout_keypad.edc
119         ${CMAKE_BINARY_DIR}/layout_keypad.edj
120         DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/gengrid/layout_keypad.edc)
121 ADD_DEPENDENCIES(${PROJECT_NAME} layout_keypad.edj)
122 INSTALL(FILES ${CMAKE_BINARY_DIR}/layout_keypad.edj DESTINATION ${ISE_LAYOUTDIR}/sdk/edc)
123
124 ADD_CUSTOM_TARGET(w-input-stt.edj COMMAND edje_cc
125         -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/images
126         ${CMAKE_CURRENT_SOURCE_DIR}/res/edje/w-input-stt.edc
127         ${CMAKE_BINARY_DIR}/res/edje/w-input-stt.edj
128         DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/edje/w-input-stt.edc)
129 ADD_DEPENDENCIES(${PROJECT_NAME} w-input-stt.edj)
130 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edje/w-input-stt.edj DESTINATION ${ISE_RESDIR}/edje)
131
132 ADD_CUSTOM_TARGET(w-input-stt-button.edj COMMAND edje_cc
133         -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/images
134         ${CMAKE_CURRENT_SOURCE_DIR}/res/edje/w-input-stt-button.edc
135         ${CMAKE_BINARY_DIR}/res/edje/w-input-stt-button.edj
136         DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/edje/w-input-stt-button.edc)
137 ADD_DEPENDENCIES(${PROJECT_NAME} w-input-stt-button.edj)
138 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edje/w-input-stt-button.edj DESTINATION ${ISE_RESDIR}/edje)
139
140 # For edc File end
141
142 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${ISE_PKGS_LDFLAGS})
143
144 set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "")
145 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${ISE_BINDIR})
146
147 INSTALL(FILES ${CMAKE_SOURCE_DIR}/${PROJECT_NAME}.xml DESTINATION
148         ${TZ_SYS_RO_PACKAGES})
149
150 FILE(GLOB_RECURSE ISE_DEFAULT_IMAGES "${CMAKE_CURRENT_SOURCE_DIR}/res/images/*.png")
151 INSTALL(FILES ${ISE_DEFAULT_IMAGES} DESTINATION ${ISE_RESDIR}/images)
152
153 if(${TARGET} STREQUAL "tv")
154 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/pixmaps/default/tv/
155         DESTINATION ${ISE_LAYOUTDIR}/tv/image)
156 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/layout/tv/ DESTINATION
157         ${ISE_LAYOUTDIR}/tv FILES_MATCHING PATTERN "*.xml")
158 elseif(${TARGET} STREQUAL "wearable")
159 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/pixmaps/default/wearable/
160         DESTINATION ${ISE_LAYOUTDIR}/wearable/image)
161 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/layout/wearable/ DESTINATION
162         ${ISE_LAYOUTDIR}/wearable FILES_MATCHING PATTERN "*.xml")
163 else(${TARGET} STREQUAL "tv")
164 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/pixmaps/default/sdk/
165         DESTINATION ${ISE_LAYOUTDIR}/sdk/image)
166 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/layout/sdk/ DESTINATION
167         ${ISE_LAYOUTDIR}/sdk FILES_MATCHING PATTERN "*.xml")
168 endif()
169
170 ADD_SUBDIRECTORY(po)