Fix SAM tool violations (GlobalVariable)
[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 ../include/bt-internal-types.c
16 oal-hardware.c
17 oal-manager.c
18 oal-adapter-mgr.c
19 oal-device-mgr.c
20 oal-hid-host.c
21 oal-hid-device.c
22 oal-socket.c
23 oal-audio-src.c
24 oal-a2dp-sink.c
25 oal-avrcp-tg.c
26 oal-avrcp-ctrl.c
27 oal-hfp.c
28 oal-hdp.c
29 oal-gatt.c
30 oal-hf-client.c
31 oal-mesh.c
32 common/oal-utils.c
33 common/oal-common.c
34 common/oal-event-dispatcher.c
35 )
36
37 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
38         SET(CMAKE_BUILD_TYPE "Release")
39 ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
40 MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
41 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
42 SET(EXEC_PREFIX "\${prefix}")
43 SET(LIBDIR ${CMAKE_LIB_DIR})
44 SET(INCLUDEDIR "\${prefix}/include")
45 SET(VERSION_MAJOR 1)
46 SET(VERSION ${VERSION_MAJOR}.0.0)
47
48 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
49 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/common)
50 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
51
52 LINK_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/lib)
53 LINK_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/bt-oal)
54
55 INCLUDE(FindPkgConfig)
56 pkg_check_modules(oal_pkgs REQUIRED vconf aul vconf alarm-service gio-unix-2.0 dlog
57 gio-2.0 glib-2.0 libtzplatform-config gmock)
58
59 #pkg_check_modules(oal_pkgs REQUIRED vconf aul vconf libudev dbus-glib-1
60 #alarm-service gio-unix-2.0 systemd dlog gio-2.0 glib-2.0 libtzplatform-config)
61
62 FOREACH(flag ${oal_pkgs_CFLAGS})
63         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
64 ENDFOREACH(flag)
65
66 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g ")
67
68 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall -Werror")
69
70 FIND_PROGRAM(UNAME NAMES uname)
71 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
72 IF("${ARCH}" STREQUAL "arm")
73         ADD_DEFINITIONS("-DTARGET")
74         MESSAGE("add -DTARGET")
75 ENDIF("${ARCH}" STREQUAL "arm")
76
77 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
78 #ADD_DEFINITIONS("-DOAL_DEBUG")
79
80 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${VERSION_MAJOR})
81 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${VERSION})
82 #SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "-DOAL_DEBUG ")
83
84
85 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIBDIR})
86 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${packages_LDFLAGS} -ldl -lgcov)
87
88 FOREACH(hfile ${HEADERS})
89         INSTALL(FILES ${CMAKE_SOURCE_DIR}/include/${hfile} DESTINATION include/bt-oal)
90 ENDFOREACH(hfile)
91
92 ADD_SUBDIRECTORY(haltest)