[Adapt:Bluez HAL] Implement Create and Remove Bond
[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 ./src/bt-hal-bluetooth.c
6 ./src/bt-hal-adapter-dbus-handler.c
7 ./src/bt-hal-device-dbus-handler.c
8 ./src/bt-hal-dbus-common-utils.c
9 ./src/bt-hal-event-receiver.c
10 ./src/bt-hal-utils.c
11 )
12
13 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
14 SET(EXEC_PREFIX "\${prefix}")
15 SET(LIBDIR "\${prefix}/lib")
16 SET(INCLUDEDIR "\${prefix}/include")
17 SET(VERSION_MAJOR 1)
18 SET(VERSION ${VERSION_MAJOR}.0.0)
19 SET(APP_SYSCONFDIR /opt/var/lib/bluetooth)
20
21 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/hardware/)
22 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/)
23 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/src/)
24 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/inc/)
25
26 SET(PKG_MODULES
27         dbus-glib-1
28         glib-2.0
29         gio-2.0
30         syspopup-caller
31 )
32
33 FIND_PROGRAM(MARSHALTOOL NAMES glib-genmarshal)
34 EXEC_PROGRAM("${MARSHALTOOL}" ARGS "--prefix=marshal ${CMAKE_CURRENT_SOURCE_DIR}/marshal.list --header > ${CMAKE_CURRENT_SOURCE_DIR}/include/marshal.h")
35 EXEC_PROGRAM("${MARSHALTOOL}" ARGS "--prefix=marshal ${CMAKE_CURRENT_SOURCE_DIR}/marshal.list --body > ${CMAKE_CURRENT_SOURCE_DIR}/marshal.c")
36
37 FIND_PROGRAM(DBUS_BINDING_TOOL NAMES dbus-binding-tool)
38
39 FOREACH(flag ${packages_CFLAGS})
40         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
41 ENDFOREACH(flag)
42
43 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g ")
44
45 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
46
47 FIND_PROGRAM(UNAME NAMES uname)
48
49 FIND_PROGRAM(DBUS_BINDING_TOOL NAMES dbus-binding-tool)
50
51 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
52 IF("${ARCH}" STREQUAL "arm")
53         ADD_DEFINITIONS("-DTARGET")
54         MESSAGE("add -DTARGET")
55 ENDIF("${ARCH}" STREQUAL "arm")
56
57 ADD_DEFINITIONS("-DAPP_SYSCONFDIR=\"${APP_SYSCONFDIR}\"")
58
59 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
60 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${VERSION_MAJOR})
61 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${VERSION})
62 TARGET_LINK_LIBRARIES(${PROJECT_NAME} -ldlog)
63 TARGET_LINK_LIBRARIES(${PROJECT_NAME} -lpthread)
64 TARGET_LINK_LIBRARIES(${PROJECT_NAME} -ldl)
65 TARGET_LINK_LIBRARIES(${PROJECT_NAME} -lgio-2.0)
66 TARGET_LINK_LIBRARIES(${PROJECT_NAME} -lglib-2.0)
67 TARGET_LINK_LIBRARIES(${PROJECT_NAME} -ldbus-1)
68 TARGET_LINK_LIBRARIES(${PROJECT_NAME} -lgobject-2.0)
69 TARGET_LINK_LIBRARIES(${PROJECT_NAME} -lsyspopup_caller)
70 TARGET_LINK_LIBRARIES(${PROJECT_NAME} -lbundle)
71
72 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION lib COMPONENT RuntimeLibraries)