Add smartreply feature
[platform/core/uifw/inputdelegator.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(inputdelegator CXX C)
3
4 SET(INPUTDELEGATOR_SRCS
5     src/MicEffector.cpp
6     src/MoreOption.cpp
7     src/SttFeedback.cpp
8     src/SttManager.cpp
9     src/w-input-emoticon.cpp
10     src/w-input-keyboard.cpp
11     src/w-input-selector.cpp
12     src/w-input-stt-engine.cpp
13     src/w-input-stt-ise.cpp
14     src/WInputSttMicEffect.cpp
15     src/w-input-stt-voice.cpp
16     src/w-input-template.cpp
17     src/w-input-smartreply.cpp
18 )
19
20 SET(INPUTDELEGATOR_PACKAGE ${PROJECT_NAME})
21 SET(INPUTDELEGATOR_PKGNAME "org.tizen.${INPUTDELEGATOR_PACKAGE}")
22 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
23 SET(INPUTDELEGATOR_BINDIR "${TZ_SYS_RO_APP}/${INPUTDELEGATOR_PKGNAME}/bin")
24 SET(INPUTDELEGATOR_LIBDIR "${TZ_SYS_RO_APP}/${INPUTDELEGATOR_PKGNAME}/lib")
25 SET(INPUTDELEGATOR_RESDIR "${TZ_SYS_RO_APP}/${INPUTDELEGATOR_PKGNAME}/res")
26 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
27     SET(CMAKE_BUILD_TYPE "Release")
28 ENDIF()
29 MESSAGE(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
30
31 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/inc
32     ${CMAKE_SOURCE_DIR}/src
33 )
34
35 INCLUDE(FindPkgConfig)
36 SET(PKGS_CHECK_MODULES
37         dlog
38         capi-appfw-application
39         capi-appfw-app-control
40         capi-appfw-preference
41         capi-media-wav-player
42         capi-system-device
43         eina
44         elementary
45         efl-extension
46         feedback
47         stt
48         vconf
49         db-util
50         sqlite3
51         capi-media-audio-io
52         capi-system-info
53         smartreply
54         )
55
56
57 pkg_check_modules(INPUTDELEGATOR_PKGS REQUIRED ${PKGS_CHECK_MODULES})
58
59 FOREACH(flag ${INPUTDELEGATOR_PKGS_CFLAGS})
60     SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
61 ENDFOREACH(flag)
62
63 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -fPIE -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 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
68
69 ADD_DEFINITIONS("-DEXPORTED=__attribute__((visibility(\"default\")))")
70 ADD_DEFINITIONS(-DPACKAGE=\"/inputdelegator\")
71 #ADD_DEFINITIONS("-DPACKAGE=\"${INPUTDELEGATOR_PKGNAME}\"")
72 ADD_DEFINITIONS("-DPACKAGE_NAME=\"${INPUTDELEGATOR_PKGNAME}\"")
73 ADD_DEFINITIONS("-DRESDIR=\"${INPUTDELEGATOR_RESDIR}\"")
74 ADD_DEFINITIONS(-DINPUTDELEGATOR_NAME=\"/inputdelegator\")
75 ADD_DEFINITIONS(-DSUPPORTS_EMOTICONS)
76
77 ADD_EXECUTABLE(${PROJECT_NAME} ${INPUTDELEGATOR_SRCS})
78
79
80
81 if(${TARGET} STREQUAL "wearable")
82 file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/res/wearable/edje)
83 ADD_CUSTOM_TARGET(w-input-selector.edj COMMAND edje_cc
84         -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/wearable/images
85         ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/w-input-selector.edc
86         ${CMAKE_BINARY_DIR}/res/wearable/edje/w-input-selector.edj
87         DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/w-input-selector.edc)
88 ADD_DEPENDENCIES(${PROJECT_NAME} w-input-selector.edj)
89 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/wearable/edje/w-input-selector.edj DESTINATION
90 ${INPUTDELEGATOR_RESDIR}/edje/wearable)
91
92 ADD_CUSTOM_TARGET(w-input-stt.edj COMMAND edje_cc
93         -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/wearable/images
94         ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/w-input-stt.edc
95         ${CMAKE_BINARY_DIR}/res/wearable/edje/w-input-stt.edj
96         DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/w-input-stt.edc)
97 ADD_DEPENDENCIES(${PROJECT_NAME} w-input-stt.edj)
98 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/wearable/edje/w-input-stt.edj DESTINATION
99 ${INPUTDELEGATOR_RESDIR}/edje/wearable)
100
101 ADD_CUSTOM_TARGET(w-input-stt-button.edj COMMAND edje_cc
102         -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/wearable/images
103         ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/w-input-stt-button.edc
104         ${CMAKE_BINARY_DIR}/res/wearable/edje/w-input-stt-button.edj
105         DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/edje/w-input-stt-button.edc)
106 ADD_DEPENDENCIES(${PROJECT_NAME} w-input-stt-button.edj)
107 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/wearable/edje/w-input-stt-button.edj DESTINATION
108 ${INPUTDELEGATOR_RESDIR}/edje/wearable)
109
110 elseif(${TARGET} STREQUAL "tv")
111 file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/res/tv/edje)
112 ADD_CUSTOM_TARGET(w-input-selector.edj COMMAND edje_cc
113         -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/tv/images
114         ${CMAKE_CURRENT_SOURCE_DIR}/res/tv/edje/w-input-selector.edc
115         ${CMAKE_BINARY_DIR}/res/tv/edje/w-input-selector.edj
116         DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/tv/edje/w-input-selector.edc)
117 ADD_DEPENDENCIES(${PROJECT_NAME} w-input-selector.edj)
118 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/tv/edje/w-input-selector.edj DESTINATION
119 ${INPUTDELEGATOR_RESDIR}/edje/tv)
120
121 ADD_CUSTOM_TARGET(w-input-stt.edj COMMAND edje_cc
122         -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/tv/images
123         ${CMAKE_CURRENT_SOURCE_DIR}/res/tv/edje/w-input-stt.edc
124         ${CMAKE_BINARY_DIR}/res/tv/edje/w-input-stt.edj
125         DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/tv/edje/w-input-stt.edc)
126 ADD_DEPENDENCIES(${PROJECT_NAME} w-input-stt.edj)
127 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/tv/edje/w-input-stt.edj DESTINATION
128 ${INPUTDELEGATOR_RESDIR}/edje/tv)
129
130 ADD_CUSTOM_TARGET(w-input-stt-button.edj COMMAND edje_cc
131         -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/tv/images
132         ${CMAKE_CURRENT_SOURCE_DIR}/res/tv/edje/w-input-stt-button.edc
133         ${CMAKE_BINARY_DIR}/res/tv/edje/w-input-stt-button.edj
134         DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/tv/edje/w-input-stt-button.edc)
135 ADD_DEPENDENCIES(${PROJECT_NAME} w-input-stt-button.edj)
136 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/tv/edje/w-input-stt-button.edj DESTINATION
137 ${INPUTDELEGATOR_RESDIR}/edje/tv)
138
139 else()
140 file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/res/mobile/edje)
141 ADD_CUSTOM_TARGET(w-input-selector.edj COMMAND edje_cc
142         -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/mobile/images
143         ${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/edje/w-input-selector.edc
144         ${CMAKE_BINARY_DIR}/res/mobile/edje/w-input-selector.edj
145         DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/edje/w-input-selector.edc)
146 ADD_DEPENDENCIES(${PROJECT_NAME} w-input-selector.edj)
147 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/mobile/edje/w-input-selector.edj DESTINATION
148 ${INPUTDELEGATOR_RESDIR}/edje/mobile)
149
150 ADD_CUSTOM_TARGET(w-input-stt.edj COMMAND edje_cc
151         -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/mobile/images
152         ${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/edje/w-input-stt.edc
153         ${CMAKE_BINARY_DIR}/res/mobile/edje/w-input-stt.edj
154         DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/edje/w-input-stt.edc)
155 ADD_DEPENDENCIES(${PROJECT_NAME} w-input-stt.edj)
156 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/mobile/edje/w-input-stt.edj DESTINATION
157 ${INPUTDELEGATOR_RESDIR}/edje/mobile)
158
159 ADD_CUSTOM_TARGET(w-input-stt-button.edj COMMAND edje_cc
160         -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/mobile/images
161         ${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/edje/w-input-stt-button.edc
162         ${CMAKE_BINARY_DIR}/res/mobile/edje/w-input-stt-button.edj
163         DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/edje/w-input-stt-button.edc)
164 ADD_DEPENDENCIES(${PROJECT_NAME} w-input-stt-button.edj)
165 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/mobile/edje/w-input-stt-button.edj DESTINATION
166 ${INPUTDELEGATOR_RESDIR}/edje/mobile)
167 endif()
168
169
170 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${INPUTDELEGATOR_PKGS_LDFLAGS})
171
172 set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "")
173 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${INPUTDELEGATOR_BINDIR})
174
175 INSTALL(FILES ${CMAKE_SOURCE_DIR}/${INPUTDELEGATOR_PKGNAME}.xml DESTINATION
176         ${TZ_SYS_RO_PACKAGES})
177
178 if(${TARGET} STREQUAL "wearable")
179 FILE(GLOB_RECURSE INPUTDELEGATOR_DEFAULT_IMAGES "${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/images/*.png")
180 INSTALL(FILES ${INPUTDELEGATOR_DEFAULT_IMAGES} DESTINATION ${INPUTDELEGATOR_RESDIR}/wearable/images)
181 FILE(GLOB_RECURSE INPUTDELEGATOR_DEFAULT_IMAGES "${CMAKE_CURRENT_SOURCE_DIR}/res/wearable/images/emoticons/*.png")
182 INSTALL(FILES ${INPUTDELEGATOR_DEFAULT_IMAGES} DESTINATION ${INPUTDELEGATOR_RESDIR}/wearable/images/emoticons)
183 elseif(${TARGET} STREQUAL "tv")
184 FILE(GLOB_RECURSE INPUTDELEGATOR_DEFAULT_IMAGES "${CMAKE_CURRENT_SOURCE_DIR}/res/tv/images/*.png")
185 INSTALL(FILES ${INPUTDELEGATOR_DEFAULT_IMAGES} DESTINATION ${INPUTDELEGATOR_RESDIR}/tv/images)
186 FILE(GLOB_RECURSE INPUTDELEGATOR_DEFAULT_IMAGES "${CMAKE_CURRENT_SOURCE_DIR}/res/tv/images/emoticons/*.png")
187 INSTALL(FILES ${INPUTDELEGATOR_DEFAULT_IMAGES} DESTINATION ${INPUTDELEGATOR_RESDIR}/tv/images/emoticons)
188 else()
189 FILE(GLOB_RECURSE INPUTDELEGATOR_DEFAULT_IMAGES "${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/images/*.png")
190 INSTALL(FILES ${INPUTDELEGATOR_DEFAULT_IMAGES} DESTINATION ${INPUTDELEGATOR_RESDIR}/mobile/images)
191 FILE(GLOB_RECURSE INPUTDELEGATOR_DEFAULT_IMAGES "${CMAKE_CURRENT_SOURCE_DIR}/res/mobile/images/emoticons/*.png")
192 INSTALL(FILES ${INPUTDELEGATOR_DEFAULT_IMAGES} DESTINATION ${INPUTDELEGATOR_RESDIR}/mobile/images/emoticons)
193 endif()
194
195 ADD_SUBDIRECTORY(po)