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