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