sensord: enable gravity sensors (lowpass and complementary)
[platform/core/system/sensord.git] / src / sensor / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(sensor-fusion CXX)
3 INCLUDE(GNUInstallDirs)
4
5 SET(AUTO_ROTATION "ON")
6 SET(GRAVITY "ON")
7 SET(LINEAR_ACCEL "OFF")
8
9 INCLUDE_DIRECTORIES(
10         ${CMAKE_SOURCE_DIR}/src/shared
11         ${CMAKE_CURRENT_SOURCE_DIR}
12 )
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-sections -Wl,--print-gc-sections")
18 MESSAGE("FLAGS: ${CMAKE_CXX_FLAGS}")
19 MESSAGE("FLAGS: ${CMAKE_EXE_LINKER_FLAGS}")
20
21 # Internal Debugging Options
22 #ADD_DEFINITIONS(-Wall -g -D_DEBUG)
23
24 INCLUDE(FindPkgConfig)
25 PKG_CHECK_MODULES(PLUGINS_PKGS REQUIRED dlog)
26
27 FOREACH(flag ${PLUGINS_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 FILE(GLOB SRCS *.cpp)
34
35 IF("${AUTO_ROTATION}" STREQUAL "ON")
36 FILE(GLOB_RECURSE SRCS ${SRCS} auto_rotation/*.cpp)
37 ADD_DEFINITIONS(-DENABLE_AUTO_ROTATION)
38 ENDIF()
39
40 IF("${GRAVITY}" STREQUAL "ON")
41 FILE(GLOB_RECURSE SRCS ${SRCS} gravity/*.cpp)
42 ADD_DEFINITIONS(-DENABLE_GRAVITY)
43 ENDIF()
44
45 IF("${LINEAR_ACCEL}" STREQUAL "ON")
46 FILE(GLOB_RECURSE SRCS ${SRCS} linear_accel/*.cpp)
47 ADD_DEFINITIONS(-DENABLE_LINEAR_ACCEL)
48 ENDIF()
49
50 MESSAGE("Sources: ${SRCS}")
51 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
52 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${PLUGINS_PKGS_LDFLAGS})
53 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}/sensor/fusion)