sensor: fix the bug in the proximity sensor hal
[platform/adaptation/rpi3/external-sensor-plugins-rpi3.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(external-sensor-plugins-rpi3 CXX)
3 INCLUDE(GNUInstallDirs)
4 SET(fw_name "external-sensor-plugins-rpi3")
5
6 SET(ACCELEROMETER "ON")
7 SET(GYROSCOPE "ON")
8 SET(PROXIMITY "ON")
9 SET(LIGHT "ON")
10 SET(PRESSURE "ON")
11 SET(HRM_LED_IR_RED "ON")
12 SET(GEOMAGNETIC "OFF")
13
14 # Common Options
15 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O2 -omit-frame-pointer -std=gnu++0x")
16 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdata-sections -ffunction-sections")
17 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--gc-section -Wl,--print-gc-section")
18 MESSAGE("FLAGS: ${CMAKE_CXX_FLAGS}")
19 MESSAGE("FLAGS: ${CMAKE_EXE_LINKER_FLAGS}")
20
21 INCLUDE(FindPkgConfig)
22 PKG_CHECK_MODULES(HAL_PKGS REQUIRED dlog glib-2.0 capi-system-peripheral-io)
23 PKG_CHECK_MODULES(pkgs REQUIRED capi-system-peripheral-io)
24
25 #LINK_LIBRARIES("capi-system-peripheral-io")
26
27 FOREACH(flag ${HAL_PKGS_CFLAGS})
28         SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}")
29 ENDFOREACH(flag)
30
31 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
32
33 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src)
34 FILE(GLOB SRCS src/*.cpp)
35
36 IF("${ACCELEROMETER}" STREQUAL "ON")
37 FILE(GLOB_RECURSE SRCS ${SRCS} src/accelerometer/*.cpp)
38 ADD_DEFINITIONS(-DENABLE_ACCELEROMETER)
39 ENDIF()
40
41 IF("${GYROSCOPE}" STREQUAL "ON")
42 FILE(GLOB_RECURSE SRCS ${SRCS} src/gyroscope/*.cpp)
43 ADD_DEFINITIONS(-DENABLE_GYROSCOPE)
44 ENDIF()
45
46 IF("${PROXIMITY}" STREQUAL "ON")
47 FILE(GLOB_RECURSE SRCS ${SRCS} src/proximity/*.cpp)
48 ADD_DEFINITIONS(-DENABLE_PROXIMITY)
49 ENDIF()
50
51 IF("${LIGHT}" STREQUAL "ON")
52 FILE(GLOB_RECURSE SRCS ${SRCS} src/light/*.cpp)
53 ADD_DEFINITIONS(-DENABLE_LIGHT)
54 ENDIF()
55
56 IF("${PRESSURE}" STREQUAL "ON")
57 FILE(GLOB_RECURSE SRCS ${SRCS} src/pressure/*.cpp)
58 ADD_DEFINITIONS(-DENABLE_PRESSURE)
59 ENDIF()
60
61 IF("${HRM_LED_IR_RED}" STREQUAL "ON")
62 FILE(GLOB_RECURSE SRCS ${SRCS} src/hrm_led_ir_red/*.cpp)
63 ADD_DEFINITIONS(-DENABLE_HRM_LED_IR_RED)
64 ENDIF()
65
66 IF("${GEOMAGNETIC}" STREQUAL "ON")
67 FILE(GLOB_RECURSE SRCS ${SRCS} src/geomagetic/*.cpp)
68 ADD_DEFINITIONS(-DENABLE_GEOMAGNETIC)
69 ENDIF()
70
71 MESSAGE("Sources: ${SRCS}")
72 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
73 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${HAL_PKGS_LDFLAGS})
74
75 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}/sensor)
76
77 ADD_SUBDIRECTORY(test)