sensord: enable samsung pedometer sensor for fused location
[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 "ON")
8 SET(RV "ON")
9 SET(ORIENTATION "ON")
10 SET(PEDOMETER "ON")
11
12 INCLUDE_DIRECTORIES(
13         ${CMAKE_SOURCE_DIR}/src/shared
14         ${CMAKE_CURRENT_SOURCE_DIR}
15 )
16
17 # Common Options
18 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O2 -omit-frame-pointer -std=gnu++0x")
19 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdata-sections -ffunction-sections")
20 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--gc-sections -Wl,--print-gc-sections")
21 MESSAGE("FLAGS: ${CMAKE_CXX_FLAGS}")
22 MESSAGE("FLAGS: ${CMAKE_EXE_LINKER_FLAGS}")
23
24 # Internal Debugging Options
25 #ADD_DEFINITIONS(-Wall -g -D_DEBUG)
26
27 INCLUDE(FindPkgConfig)
28 PKG_CHECK_MODULES(PLUGINS_PKGS REQUIRED dlog)
29
30 FOREACH(flag ${PLUGINS_PKGS_CFLAGS})
31         SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}")
32 ENDFOREACH(flag)
33
34 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
35
36 FILE(GLOB SRCS *.cpp)
37
38 IF("${AUTO_ROTATION}" STREQUAL "ON")
39 FILE(GLOB_RECURSE SRCS ${SRCS} auto_rotation/*.cpp)
40 ADD_DEFINITIONS(-DENABLE_AUTO_ROTATION)
41 ENDIF()
42
43 IF("${GRAVITY}" STREQUAL "ON")
44 FILE(GLOB_RECURSE SRCS ${SRCS} gravity/*.cpp)
45 ADD_DEFINITIONS(-DENABLE_GRAVITY)
46 ENDIF()
47
48 IF("${LINEAR_ACCEL}" STREQUAL "ON")
49 FILE(GLOB_RECURSE SRCS ${SRCS} linear_accel/*.cpp)
50 ADD_DEFINITIONS(-DENABLE_LINEAR_ACCEL)
51 ENDIF()
52
53 IF("${RV}" STREQUAL "ON")
54 FILE(GLOB_RECURSE SRCS ${SRCS} rotation_vector/*.cpp)
55 ADD_DEFINITIONS(-DENABLE_ROTATION_VECTOR)
56 ENDIF()
57
58 IF("${ORIENTATION}" STREQUAL "ON")
59 FILE(GLOB_RECURSE SRCS ${SRCS} orientation/*.cpp)
60 ADD_DEFINITIONS(-DENABLE_ORIENTATION)
61 ENDIF()
62
63 IF("${PEDOMETER}" STREQUAL "ON")
64 FILE(GLOB_RECURSE SRCS ${SRCS} pedometer/*.cpp)
65 ADD_DEFINITIONS(-DENABLE_PEDOMETER)
66 ENDIF()
67
68 MESSAGE("Sources: ${SRCS}")
69 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
70 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${PLUGINS_PKGS_LDFLAGS})
71 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}/sensor/fusion)