293a63e1c76dd5c27cc72959f2e1443487734cb7
[platform/core/connectivity/bluetooth-frwk.git] / bt-oal / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(bt-oal C CXX)
3
4 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
5 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/hardware/)
6
7 IF("$ENV{BT_INCLUDE_OAL_BLUEZ}" STREQUAL "ENABLED")
8 ADD_SUBDIRECTORY(bluez_hal)
9 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/bluez_hal/)
10 ELSE("$ENV{BT_INCLUDE_OAL_BLUEZ}" STREQUAL "ENABLED")
11 #Add different HAL implementation here if such is supported instead of bluez_hal
12 ENDIF("$ENV{BT_INCLUDE_OAL_BLUEZ}" STREQUAL "ENABLED")
13
14 SET(SRCS
15 oal-hardware.c
16 oal-manager.c
17 oal-adapter-mgr.c
18 oal-device-mgr.c
19 oal-hid-host.c
20 oal-socket.c
21 oal-audio-src.c
22 oal-a2dp-sink.c
23 oal-avrcp-tg.c
24 oal-avrcp-ctrl.c
25 oal-hfp.c
26 oal-hdp.c
27 oal-gatt.c
28 common/oal-utils.c
29 common/oal-common.c
30 common/oal-event-dispatcher.c
31 )
32
33 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
34         SET(CMAKE_BUILD_TYPE "Release")
35 ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
36 MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
37 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
38 SET(EXEC_PREFIX "\${prefix}")
39 SET(LIBDIR ${CMAKE_LIB_DIR})
40 SET(INCLUDEDIR "\${prefix}/include")
41 SET(VERSION_MAJOR 1)
42 SET(VERSION ${VERSION_MAJOR}.0.0)
43
44 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
45 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/common)
46 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
47
48 LINK_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/lib)
49 LINK_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/bt-oal)
50
51 INCLUDE(FindPkgConfig)
52 pkg_check_modules(oal_pkgs REQUIRED vconf aul vconf alarm-service gio-unix-2.0 dlog
53 gio-2.0 glib-2.0 libtzplatform-config gmock)
54
55 #pkg_check_modules(oal_pkgs REQUIRED vconf aul vconf libudev dbus-glib-1
56 #alarm-service gio-unix-2.0 systemd dlog gio-2.0 glib-2.0 libtzplatform-config)
57
58 FOREACH(flag ${oal_pkgs_CFLAGS})
59         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
60 ENDFOREACH(flag)
61
62 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g ")
63
64 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC")
65
66 FIND_PROGRAM(UNAME NAMES uname)
67 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
68 IF("${ARCH}" STREQUAL "arm")
69         ADD_DEFINITIONS("-DTARGET")
70         MESSAGE("add -DTARGET")
71 ENDIF("${ARCH}" STREQUAL "arm")
72
73 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
74 #ADD_DEFINITIONS("-DOAL_DEBUG")
75
76 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${VERSION_MAJOR})
77 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${VERSION})
78 #SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "-DOAL_DEBUG ")
79
80
81 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIBDIR})
82 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${packages_LDFLAGS} -ldl -lgcov)
83
84 FOREACH(hfile ${HEADERS})
85         INSTALL(FILES ${CMAKE_SOURCE_DIR}/include/${hfile} DESTINATION include/bt-oal)
86 ENDFOREACH(hfile)
87
88 ADD_SUBDIRECTORY(haltest)