Handle GATT client app's termination
[platform/core/connectivity/bluetooth-frwk.git] / bt-oal / bluez_hal / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(bluetooth.default C)
3
4 SET(SRCS
5 ../../include/bt-internal-types.c
6 ./src/bt-hal-bluetooth.c
7 ./src/bt-hal-adapter-dbus-handler.c
8 ./src/bt-hal-adapter-le.c
9 ./src/bt-hal-device-dbus-handler.c
10 ./src/bt-hal-dbus-common-utils.c
11 ./src/bt-hal-event-receiver.c
12 ./src/bt-hal-utils.c
13 ./src/bt-hal-gap-agent.c
14 ./src/bt-hal-agent.c
15 ./src/bt-hal-hidhost.c
16 ./src/bt-hal-hiddevice.c
17 ./src/bt-hal-av.c
18 ./src/bt-hal-av-dbus-handler.c
19 ./src/bt-hal-a2dp-sink.c
20 ./src/bt-hal-a2dp-sink-dbus-handler.c
21 ./src/bt-hal-avrcp-tg.c
22 ./src/bt-hal-avrcp-tg-dbus-handler.c
23 ./src/bt-hal-avrcp-ctrl.c
24 ./src/bt-hal-avrcp-ctrl-dbus-handler.c
25 ./src/bt-hal-hf.c
26 ./src/bt-hal-hf-dbus-handler.c
27 ./src/bt-hal-hid-dbus-handler.c
28 ./src/bt-hal-socket.c
29 ./src/bt-hal-rfcomm-dbus-handler.c
30 ./src/bt-hal-hdp.c
31 ./src/bt-hal-hdp-dbus-handler.c
32 ./src/bt-hal-gatt.c
33 ./src/bt-hal-gatt-server.c
34 ./src/bt-hal-gatt-client.c
35 ./src/bt-hal-hf-client.c
36 ./src/bt-hal-hf-client-dbus-handler.c
37 )
38
39 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
40 SET(EXEC_PREFIX "\${prefix}")
41 SET(LIBDIR ${CMAKE_LIB_DIR})
42 SET(INCLUDEDIR "\${prefix}/include")
43 SET(VERSION_MAJOR 1)
44 SET(VERSION ${VERSION_MAJOR}.0.0)
45 SET(APP_SYSCONFDIR /opt/var/lib/bluetooth)
46
47 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/bt-oal/)
48 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/)
49 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/src/)
50 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/inc/)
51
52 SET(PKG_MODULES
53         vconf
54         glib-2.0
55         gio-2.0
56         syspopup-caller
57         dbus-1
58         dlog
59         gobject-2.0
60         bundle
61         gio-unix-2.0
62         capi-system-info
63 )
64
65 INCLUDE(FindPkgConfig)
66 pkg_check_modules(bluez_hal_pkgs REQUIRED ${PKG_MODULES})
67
68 FIND_PROGRAM(DBUS_BINDING_TOOL NAMES dbus-binding-tool)
69
70 FOREACH(flag ${bluez_hal_pkgs_CFLAGS})
71         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
72 ENDFOREACH(flag)
73
74 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g ")
75
76 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall -Werror")
77
78 FIND_PROGRAM(UNAME NAMES uname)
79
80 FIND_PROGRAM(DBUS_BINDING_TOOL NAMES dbus-binding-tool)
81
82 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
83 IF("${ARCH}" STREQUAL "arm")
84         ADD_DEFINITIONS("-DTARGET")
85         MESSAGE("add -DTARGET")
86 ENDIF("${ARCH}" STREQUAL "arm")
87
88 ADD_DEFINITIONS("-DAPP_SYSCONFDIR=\"${APP_SYSCONFDIR}\"")
89
90 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
91 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${VERSION_MAJOR})
92 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${VERSION})
93 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${bluez_hal_pkgs_LDFLAGS} "-ldl")
94
95 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIBDIR} COMPONENT RuntimeLibraries)
96 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/bluetooth-frwk-gap-agent.conf DESTINATION /etc/dbus-1/system.d)