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