Migration from DBUS to GDBUS
[platform/core/uifw/voice-control.git] / CMakeLists.txt
1 #
2 # Copyright (c) 2011-2015 Samsung Electronics Co., Ltd All Rights Reserved
3 #
4 # Licensed under the Apache License, Version 2.0 (the License);
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 # http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an AS IS BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15 #
16 # @file        CMakeLists.txt
17 # @author      Dongyeol Lee (dy3.lee@samsung.com)
18 # @version     0.1
19 # @brief
20
21 # Check minimum CMake version
22 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
23
24 # Project name
25 PROJECT(vc)
26
27 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
28 SET(EXEC_PREFIX "${PREFIX}")
29 SET(VERSION 0.2.10)
30
31 FIND_PROGRAM(UNAME NAMES uname)
32 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
33
34 ADD_DEFINITIONS("-DVOICE_LIBDIR=\"${LIBDIR}\"")
35 ADD_DEFINITIONS("-Werror")
36 # for the use of ecore_wl2
37 ADD_DEFINITIONS("-DEFL_BETA_API_SUPPORT")
38
39 FIND_PROGRAM(GDBUS_CODEGEN NAMES gdbus-codegen)
40 EXEC_PROGRAM(${GDBUS_CODEGEN} ARGS "\\
41     --generate-c-code ${CMAKE_CURRENT_SOURCE_DIR}/common/vc_gdbus \\
42     --c-namespace GDBus\\
43     --interface-prefix org.tizen.voice. \\
44     ${CMAKE_CURRENT_SOURCE_DIR}/org.tizen.voice.voice-control.gdbus.xml \\
45     ")
46
47 # pkg config tool
48 INCLUDE(FindPkgConfig)
49
50 ## Include common directory ##
51 INCLUDE_DIRECTORIES("${CMAKE_SOURCE_DIR}/common")
52 INCLUDE_DIRECTORIES("${CMAKE_SOURCE_DIR}/include")
53
54 ## Dependent packages ##
55 INCLUDE(FindPkgConfig)
56 IF("${_TV_PRODUCT}" STREQUAL "TRUE")
57 pkg_check_modules(pkgs REQUIRED
58     aul buxton2 capi-appfw-app-control capi-appfw-app-manager capi-base-common capi-media-audio-io capi-media-sound-manager ecore-wl2 gio-2.0 gio-unix-2.0
59     capi-network-bluetooth capi-network-bluetooth-tv capi-system-info cynara-client cynara-session dbus-1 db-util dlog ecore glib-2.0 json-glib-1.0 libgum libtzplatform-config libxml-2.0 sqlite3 vconf msfapi farfield-voice-api
60 )
61 ELSE()
62 pkg_check_modules(pkgs REQUIRED
63     aul buxton2 capi-appfw-app-control capi-appfw-app-manager capi-base-common capi-media-audio-io capi-media-sound-manager ecore-wl2 gio-2.0 gio-unix-2.0
64     capi-system-info cynara-client cynara-session dbus-1 db-util dlog ecore glib-2.0 json-glib-1.0 libgum libtzplatform-config libxml-2.0 sqlite3 vconf
65 )
66 ENDIF()
67
68
69 ## API ##
70 ADD_SUBDIRECTORY(include)
71
72 ## Client library ##
73 ADD_SUBDIRECTORY(client)
74
75 ## Server daemon ##
76 ADD_SUBDIRECTORY(server)
77
78 ## Engine Parser ##
79 ADD_SUBDIRECTORY(engine-parser)
80
81 INSTALL(FILES ${CMAKE_SOURCE_DIR}/voice-control.info DESTINATION ${TZ_SYS_RO_SHARE}/parser-plugins)
82
83 ## config ##
84 INSTALL(FILES ${CMAKE_SOURCE_DIR}/vc-config.xml DESTINATION ${TZ_SYS_RO_SHARE}/voice/vc/1.0)
85
86 INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.voice.vcdaemon.service DESTINATION ${TZ_SYS_RO_SHARE}/dbus-1/services)
87
88 INSTALL(FILES ${CMAKE_SOURCE_DIR}/vc-service.conf DESTINATION /etc/dbus-1/session.d)
89
90 ## vc_getengine ##
91 IF("${ARCH}" MATCHES "^arm.*")
92 INSTALL(PROGRAMS ${CMAKE_SOURCE_DIR}/bin/armv7l/vc_getengine DESTINATION ${TZ_SYS_BIN})
93 ELSEIF("${ARCH}" MATCHES "^i586.*")
94 INSTALL(PROGRAMS ${CMAKE_SOURCE_DIR}/bin/i586/vc_getengine DESTINATION ${TZ_SYS_BIN})
95 ELSEIF("${ARCH}" MATCHES "^i686.*")
96 INSTALL(PROGRAMS ${CMAKE_SOURCE_DIR}/bin/i586/vc_getengine DESTINATION ${TZ_SYS_BIN})
97 ELSEIF("${ARCH}" MATCHES "^aarch64.*")
98 INSTALL(PROGRAMS ${CMAKE_SOURCE_DIR}/bin/aarch64/vc_getengine DESTINATION ${TZ_SYS_BIN})
99 ELSEIF("${ARCH}" MATCHES "^x86_64.*")
100 INSTALL(PROGRAMS ${CMAKE_SOURCE_DIR}/bin/x86_64/vc_getengine DESTINATION ${TZ_SYS_BIN})
101 ENDIF()