1 cmake_minimum_required(VERSION 2.6)
2 project(sensord-plugins CXX)
5 PKG_CHECK_MODULES(plugin_pkgs REQUIRED dlog libxml-2.0)
7 FOREACH(flag ${plugin_pkgs_LDFLAGS})
8 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}")
11 FOREACH(flag ${plugin_pkgs_CFLAGS})
12 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}")
15 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
17 include_directories(${CMAKE_CURRENT_SOURCE_DIR})
19 IF("${AUTO_ROTATION}" STREQUAL "ON")
20 list (APPEND DIR_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/auto_rotation")
21 list (APPEND PLUGIN_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/auto_rotation/auto_rotation_alg.cpp")
22 list (APPEND PLUGIN_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/auto_rotation/auto_rotation_alg_emul.cpp")
23 list (APPEND PLUGIN_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/auto_rotation/auto_rotation_sensor.cpp")
24 list (APPEND PLUGIN_DEFS "-DENABLE_AUTO_ROTATION")
27 IF("${ORIENTATION}" STREQUAL "ON")
28 set(SENSOR_FUSION_ENABLE "1")
29 set(ORIENTATION_ENABLE "1")
31 IF("${RV}" STREQUAL "ON")
32 set(SENSOR_FUSION_ENABLE "1")
35 IF("${GEOMAGNETIC_RV}" STREQUAL "ON")
36 set(SENSOR_FUSION_ENABLE "1")
37 set(GEOMAGNETIC_RV_ENABLE "1")
39 IF("${GAMING_RV}" STREQUAL "ON")
40 set(SENSOR_FUSION_ENABLE "1")
41 set(GAMING_RV_ENABLE "1")
43 IF("${TILT}" STREQUAL "ON")
44 set(SENSOR_FUSION_ENABLE "1")
47 IF("${GYROSCOPE_UNCAL}" STREQUAL "ON")
48 set(SENSOR_FUSION_ENABLE "1")
49 set(GYROSCOPE_UNCAL_ENABLE "1")
51 IF("${GRAVITY}" STREQUAL "ON")
52 set(SENSOR_FUSION_ENABLE "1")
53 set(ORIENTATION_ENABLE "1")
54 set(GRAVITY_ENABLE "1")
56 IF("${LINEAR_ACCEL}" STREQUAL "ON")
57 set(SENSOR_FUSION_ENABLE "1")
58 set(ORIENTATION_ENABLE "1")
59 set(GRAVITY_ENABLE "1")
60 set(LINEAR_ACCEL_ENABLE "1")
63 IF("${SENSOR_FUSION_ENABLE}" STREQUAL "1")
64 list (APPEND DIR_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/sensor_fusion")
65 list (APPEND PLUGIN_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/sensor_fusion/euler_angles.cpp")
66 list (APPEND PLUGIN_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/sensor_fusion/matrix.cpp")
67 list (APPEND PLUGIN_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/sensor_fusion/orientation_filter.cpp")
68 list (APPEND PLUGIN_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/sensor_fusion/quaternion.cpp")
69 list (APPEND PLUGIN_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/sensor_fusion/rotation_matrix.cpp")
70 list (APPEND PLUGIN_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/sensor_fusion/sensor_data.cpp")
71 list (APPEND PLUGIN_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/sensor_fusion/vector.cpp")
72 list (APPEND DIR_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/fusion")
73 list (APPEND PLUGIN_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/fusion/fusion_sensor.cpp")
74 list (APPEND PLUGIN_DEFS "-DENABLE_SENSOR_FUSION")
77 IF("${ORIENTATION_ENABLE}" STREQUAL "1")
78 list (APPEND DIR_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/orientation")
79 list (APPEND PLUGIN_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/orientation/orientation_sensor.cpp")
80 list (APPEND PLUGIN_DEFS "-DENABLE_ORIENTATION")
82 IF("${GRAVITY_ENABLE}" STREQUAL "1")
83 list (APPEND DIR_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/gravity")
84 list (APPEND PLUGIN_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/gravity/gravity_sensor.cpp")
85 list (APPEND PLUGIN_DEFS "-DENABLE_GRAVITY")
87 IF("${LINEAR_ACCEL_ENABLE}" STREQUAL "1")
88 list (APPEND DIR_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/linear_accel")
89 list (APPEND PLUGIN_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/linear_accel/linear_accel_sensor.cpp")
90 list (APPEND PLUGIN_DEFS "-DENABLE_LINEAR_ACCEL")
92 IF("${TILT_ENABLE}" STREQUAL "1")
93 list (APPEND DIR_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/tilt")
94 list (APPEND PLUGIN_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/tilt/tilt_sensor.cpp")
95 list (APPEND PLUGIN_DEFS "-DENABLE_TILT")
97 IF("${GYROSCOPE_UNCAL_ENABLE}" STREQUAL "1")
98 list (APPEND DIR_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/gyroscope_uncal")
99 list (APPEND PLUGIN_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/gyroscope_uncal/gyroscope_uncal_sensor.cpp")
100 list (APPEND PLUGIN_DEFS "-DENABLE_GYROSCOPE_UNCAL")
102 IF("${RV_ENABLE}" STREQUAL "1")
103 list (APPEND DIR_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/rotation_vector/rv")
104 list (APPEND PLUGIN_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/rotation_vector/rv/rv_sensor.cpp")
105 list (APPEND PLUGIN_DEFS "-DENABLE_RV")
107 IF("${GEOMAGNETIC_RV_ENABLE}" STREQUAL "1")
108 list (APPEND DIR_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/rotation_vector/geomagnetic_rv")
109 list (APPEND PLUGIN_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/rotation_vector/geomagnetic_rv/geomagnetic_rv_sensor.cpp")
110 list (APPEND PLUGIN_DEFS "-DENABLE_GEOMAGNETIC_RV")
112 IF("${GAMING_RV_ENABLE}" STREQUAL "1")
113 list (APPEND DIR_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/rotation_vector/gaming_rv")
114 list (APPEND PLUGIN_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/rotation_vector/gaming_rv/gaming_rv_sensor.cpp")
115 list (APPEND PLUGIN_DEFS "-DENABLE_GAMING_RV")
118 set(PLUGIN_SRCS ${PLUGIN_SRCS} PARENT_SCOPE)
119 set(DIR_INCLUDE ${DIR_INCLUDE} PARENT_SCOPE)
120 set(PLUGIN_DEFS ${PLUGIN_DEFS} PARENT_SCOPE)
123 INSTALL(FILES virtual_sensors.xml virtual_sensors.xml DESTINATION etc)