Fixing issues related to loading virtual sensors
[platform/core/system/sensord.git] / src / server / plugins / CMakeLists.txt
1 cmake_minimum_required(VERSION 2.6)
2 project(sensord-plugins CXX)
3
4 INCLUDE(FindPkgConfig)
5 PKG_CHECK_MODULES(plugin_pkgs REQUIRED dlog libxml-2.0)
6
7 FOREACH(flag ${plugin_pkgs_LDFLAGS})
8         SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}")
9 ENDFOREACH(flag)
10
11 FOREACH(flag ${plugin_pkgs_CFLAGS})
12         SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}")
13 ENDFOREACH(flag)
14
15 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
16
17 include_directories(${CMAKE_CURRENT_SOURCE_DIR})
18 include_directories(${CMAKE_SOURCE_DIR}/src/server)
19 include_directories(${CMAKE_SOURCE_DIR}/src/shared)
20
21 IF("${ACCEL}" STREQUAL "ON")
22 include_directories(${CMAKE_SOURCE_DIR}/src/server/plugins/accel)
23 list (APPEND PLUGIN_SRCS "accel/accel_sensor.cpp")
24 add_definitions(-DENABLE_ACCEL)
25 ENDIF()
26 IF("${GYRO}" STREQUAL "ON")
27 include_directories(${CMAKE_SOURCE_DIR}/src/server/plugins/gyro)
28 list (APPEND PLUGIN_SRCS "gyro/gyro_sensor.cpp")
29 add_definitions(-DENABLE_GYRO)
30 ENDIF()
31 IF("${PROXI}" STREQUAL "ON")
32 include_directories(${CMAKE_SOURCE_DIR}/src/server/plugins/proxi)
33 list (APPEND PLUGIN_SRCS "proxi/proxi_sensor.cpp")
34 add_definitions(-DENABLE_PROXI)
35 ENDIF()
36 IF("${LIGHT}" STREQUAL "ON")
37 include_directories(${CMAKE_SOURCE_DIR}/src/server/plugins/light)
38 list (APPEND PLUGIN_SRCS "light/light_sensor.cpp")
39 add_definitions(-DENABLE_LIGHT)
40 ENDIF()
41 IF("${GEO}" STREQUAL "ON")
42 include_directories(${CMAKE_SOURCE_DIR}/src/server/plugins/geo)
43 list (APPEND PLUGIN_SRCS "geo/geo_sensor.cpp")
44 add_definitions(-DENABLE_GEO)
45 ENDIF()
46 IF("${AUTO_ROTATION}" STREQUAL "ON")
47 include_directories(${CMAKE_SOURCE_DIR}/src/server/plugins/auto_rotation)
48 list (APPEND PLUGIN_SRCS "auto_rotation/auto_rotation_alg.cpp")
49 list (APPEND PLUGIN_SRCS "auto_rotation/auto_rotation_alg_emul.cpp")
50 list (APPEND PLUGIN_SRCS "auto_rotation/auto_rotation_sensor.cpp")
51 add_definitions(-DENABLE_AUTO_ROTATION)
52 ENDIF()
53 IF("${PRESSURE}" STREQUAL "ON")
54 include_directories(${CMAKE_SOURCE_DIR}/src/server/plugins/pressure)
55 list (APPEND PLUGIN_SRCS "pressure/pressure_sensor.cpp")
56 add_definitions(-DENABLE_PRESSURE)
57 ENDIF()
58 IF("${TEMPERATURE}" STREQUAL "ON")
59 include_directories(${CMAKE_SOURCE_DIR}/src/server/plugins/temperature)
60 list (APPEND PLUGIN_SRCS "temperature/temperature_sensor.cpp")
61 add_definitions(-DENABLE_TEMPERATURE)
62 ENDIF()
63 IF("${ULTRAVIOLET}" STREQUAL "ON")
64 include_directories(${CMAKE_SOURCE_DIR}/src/server/plugins/ultraviolet)
65 list (APPEND PLUGIN_SRCS "ultraviolet/ultraviolet_sensor.cpp")
66 add_definitions(-DENABLE_ULTRAVIOLET)
67 ENDIF()
68 IF("${BIO_LED_RED}" STREQUAL "ON")
69 include_directories(${CMAKE_SOURCE_DIR}/src/server/plugins/bio_led_red)
70 list (APPEND PLUGIN_SRCS "bio_led_red/bio_led_red_sensor.cpp")
71 add_definitions(-DENABLE_BIO_LED_RED)
72 ENDIF()
73 IF("${ORIENTATION}" STREQUAL "ON")
74 set(SENSOR_FUSION_ENABLE "1")
75 set(ORIENTATION_ENABLE "1")
76 ENDIF()
77 IF("${RV}" STREQUAL "ON")
78 set(SENSOR_FUSION_ENABLE "1")
79 set(RV_ENABLE "1")
80 ENDIF()
81 IF("${GEOMAGNETIC_RV}" STREQUAL "ON")
82 set(SENSOR_FUSION_ENABLE "1")
83 set(GEOMAGNETIC_RV_ENABLE "1")
84 ENDIF()
85 IF("${GAMING_RV}" STREQUAL "ON")
86 set(SENSOR_FUSION_ENABLE "1")
87 set(GAMING_RV_ENABLE "1")
88 ENDIF()
89 IF("${TILT}" STREQUAL "ON")
90 set(SENSOR_FUSION_ENABLE "1")
91 set(TILT_ENABLE "1")
92 ENDIF()
93 IF("${UNCAL_GYRO}" STREQUAL "ON")
94 set(SENSOR_FUSION_ENABLE "1")
95 set(UNCAL_GYRO_ENABLE "1")
96 ENDIF()
97 IF("${GRAVITY}" STREQUAL "ON")
98 set(SENSOR_FUSION_ENABLE "1")
99 set(ORIENTATION_ENABLE "1")
100 set(GRAVITY_ENABLE "1")
101 ENDIF()
102 IF("${LINEAR_ACCEL}" STREQUAL "ON")
103 set(SENSOR_FUSION_ENABLE "1")
104 set(ORIENTATION_ENABLE "1")
105 set(GRAVITY_ENABLE "1")
106 set(LINEAR_ACCEL_ENABLE "1")
107 ENDIF()
108 IF("${SENSOR_FUSION_ENABLE}" STREQUAL "1")
109 include_directories(${CMAKE_SOURCE_DIR}/src/server/plugins/sensor_fusion)
110 list (APPEND PLUGIN_SRCS "sensor_fusion/euler_angles.cpp")
111 list (APPEND PLUGIN_SRCS "sensor_fusion/matrix.cpp")
112 list (APPEND PLUGIN_SRCS "sensor_fusion/orientation_filter.cpp")
113 list (APPEND PLUGIN_SRCS "sensor_fusion/quaternion.cpp")
114 list (APPEND PLUGIN_SRCS "sensor_fusion/rotation_matrix.cpp")
115 list (APPEND PLUGIN_SRCS "sensor_fusion/sensor_data.cpp")
116 list (APPEND PLUGIN_SRCS "sensor_fusion/vector.cpp")
117 include_directories(${CMAKE_SOURCE_DIR}/src/server/plugins/fusion)
118 list (APPEND PLUGIN_SRCS "fusion/fusion_sensor.cpp")
119 add_definitions(-DENABLE_SENSOR_FUSION)
120 ENDIF()
121 IF("${ORIENTATION_ENABLE}" STREQUAL "1")
122 include_directories(${CMAKE_SOURCE_DIR}/src/server/plugins/orientation)
123 list (APPEND PLUGIN_SRCS "orientation/orientation_sensor.cpp")
124 add_definitions(-DENABLE_ORIENTATION)
125 ENDIF()
126 IF("${GRAVITY_ENABLE}" STREQUAL "1")
127 include_directories(${CMAKE_SOURCE_DIR}/src/server/plugins/gravity)
128 list (APPEND PLUGIN_SRCS "gravity/gravity_sensor.cpp")
129 add_definitions(-DENABLE_GRAVITY)
130 ENDIF()
131 IF("${LINEAR_ACCEL_ENABLE}" STREQUAL "1")
132 include_directories(${CMAKE_SOURCE_DIR}/src/server/plugins/linear_accel)
133 list (APPEND PLUGIN_SRCS "linear_accel/linear_accel_sensor.cpp")
134 add_definitions(-DENABLE_LINEAR_ACCEL)
135 ENDIF()
136 IF("${TILT_ENABLE}" STREQUAL "1")
137 include_directories(${CMAKE_SOURCE_DIR}/src/server/plugins/tilt)
138 list (APPEND PLUGIN_SRCS "tilt/tilt_sensor.cpp")
139 add_definitions(-DENABLE_TILT)
140 ENDIF()
141 IF("${UNCAL_GYRO_ENABLE}" STREQUAL "1")
142 include_directories(${CMAKE_SOURCE_DIR}/src/server/plugins/uncal_gyro)
143 list (APPEND PLUGIN_SRCS "uncal_gyro/uncal_gyro_sensor.cpp")
144 add_definitions(-DENABLE_UNCAL_GYRO)
145 ENDIF()
146 IF("${RV_ENABLE}" STREQUAL "1")
147 include_directories(${CMAKE_SOURCE_DIR}/src/server/plugins/rotation_vector/rv)
148 list (APPEND PLUGIN_SRCS "rotation_vector/rv/rv_sensor.cpp")
149 add_definitions(-DENABLE_RV)
150 ENDIF()
151 IF("${GEOMAGNETIC_RV_ENABLE}" STREQUAL "1")
152 include_directories(${CMAKE_SOURCE_DIR}/src/server/plugins/rotation_vector/geomagnetic_rv)
153 list (APPEND PLUGIN_SRCS "rotation_vector/geomagnetic_rv/geomagnetic_rv_sensor.cpp")
154 add_definitions(-DENABLE_GEOMAGNETIC_RV)
155 ENDIF()
156 IF("${GAMING_RV_ENABLE}" STREQUAL "1")
157 include_directories(${CMAKE_SOURCE_DIR}/src/server/plugins/rotation_vector/gaming_rv)
158 list (APPEND PLUGIN_SRCS "rotation_vector/gaming_rv/gaming_rv_sensor.cpp")
159 add_definitions(-DENABLE_GAMING_RV)
160 ENDIF()
161 IF("${RV_RAW}" STREQUAL "ON")
162 include_directories(${CMAKE_SOURCE_DIR}/src/server/plugins/rotation_vector/rv_raw)
163 list (APPEND PLUGIN_SRCS "rotation_vector/rv_raw/rv_raw_sensor.cpp")
164 ENDIF()
165
166 configure_file(sensor_module_create.cpp.in sensor_module_create.cpp)
167
168 add_library(${PROJECT_NAME} SHARED
169         sensor_module_create.cpp
170         ${PLUGIN_SRCS}
171         )
172
173 target_link_libraries(${PROJECT_NAME} ${plugin_pkgs_LDFLAGS} "-lrt -ldl -pthread")
174
175 install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})