Fix build issue regarding cmake 3.21.3
[platform/hal/backend/emulator/sensor-emulator.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(hal-backend-sensor-emulator CXX)
3 INCLUDE(GNUInstallDirs)
4
5 SET(LIBRARY_NAME "hal-backend-sensor")
6 SET(HAL_LIBDIR ${CMAKE_HAL_LIBDIR_PREFIX})
7 SET(HAL_LICENSEDIR ${CMAKE_HAL_LICENSEDIR_PREFIX})
8 SET(DEPENDENTS "dlog hal-api-common hal-api-sensor")
9
10
11 SET(ACCEL "ON")
12 SET(GYRO "ON")
13 SET(GYRO_UNCAL "OFF")
14 SET(PROXIMITY "ON")
15 SET(LIGHT "ON")
16 SET(GEOMAG "ON")
17 SET(GEOMAG_UNCAL "OFF")
18 SET(HRM_RAW "OFF")
19 SET(HRM "ON")
20 SET(RV "OFF")
21 SET(PRESSURE "ON")
22 SET(PIR "OFF")
23 SET(PIR_LONG "OFF")
24 SET(TEMPERATURE "OFF")
25 SET(HUMIDITY "OFF")
26 SET(TEMP_HUMIDITY "OFF")
27 SET(ULTRAVIOLET "ON")
28 SET(DUST "OFF")
29 SET(GSR "OFF")
30 SET(SENSORHUB "ON")
31
32 # Common Options
33 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O2 -fomit-frame-pointer -std=gnu++0x")
34 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdata-sections -ffunction-sections")
35 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--gc-section -Wl,--print-gc-section")
36 MESSAGE("FLAGS: ${CMAKE_CXX_FLAGS}")
37 MESSAGE("FLAGS: ${CMAKE_EXE_LINKER_FLAGS}")
38
39 # Internal Debugging Options
40 #ADD_DEFINITIONS(-Wall -g -D_DEBUG)
41 ADD_DEFINITIONS(-Wall -g)
42
43 INCLUDE(FindPkgConfig)
44 PKG_CHECK_MODULES(HAL_PKGS REQUIRED ${DEPENDENTS})
45
46 FOREACH(flag ${HAL_PKGS_CFLAGS})
47         SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}")
48 ENDFOREACH(flag)
49
50 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
51
52 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src)
53 FILE(GLOB SRCS src/*.cpp)
54
55 IF("${ACCEL}" STREQUAL "ON")
56 FILE(GLOB_RECURSE SRCS ${SRCS} src/accel/*.cpp)
57 ADD_DEFINITIONS(-DENABLE_ACCEL)
58 ENDIF()
59
60 IF("${GYRO}" STREQUAL "ON")
61 FILE(GLOB_RECURSE SRCS ${SRCS} src/gyro/*.cpp)
62 ADD_DEFINITIONS(-DENABLE_GYRO)
63 ENDIF()
64
65 IF("${GYRO_UNCAL}" STREQUAL "ON")
66 FILE(GLOB_RECURSE SRCS ${SRCS} src/gyro_uncal/*.cpp)
67 ADD_DEFINITIONS(-DENABLE_GYRO_UNCAL)
68 ENDIF()
69
70 IF("${PROXIMITY}" STREQUAL "ON")
71 FILE(GLOB_RECURSE SRCS ${SRCS} src/proxi/*.cpp)
72 ADD_DEFINITIONS(-DENABLE_PROXIMITY)
73 ENDIF()
74
75 IF("${LIGHT}" STREQUAL "ON")
76 FILE(GLOB_RECURSE SRCS ${SRCS} src/light/*.cpp)
77 ADD_DEFINITIONS(-DENABLE_LIGHT)
78 ENDIF()
79
80 IF("${GEOMAG}" STREQUAL "ON")
81 FILE(GLOB_RECURSE SRCS ${SRCS} src/geomag/*.cpp)
82 ADD_DEFINITIONS(-DENABLE_GEOMAG)
83 ENDIF()
84
85 IF("${GEOMAG_UNCAL}" STREQUAL "ON")
86 FILE(GLOB_RECURSE SRCS ${SRCS} src/geo_uncal/*.cpp)
87 ADD_DEFINITIONS(-DENABLE_GEOMAG_UNCAL)
88 ENDIF()
89
90 IF("${HRM_RAW}" STREQUAL "ON")
91 FILE(GLOB_RECURSE SRCS ${SRCS} src/hrm_raw/*.cpp)
92 ADD_DEFINITIONS(-DENABLE_HRM_RAW)
93 ENDIF()
94
95 IF("${HRM}" STREQUAL "ON")
96 FILE(GLOB_RECURSE SRCS ${SRCS} src/hrm/*.cpp)
97 ADD_DEFINITIONS(-DENABLE_HRM)
98 ENDIF()
99
100 IF("${RV}" STREQUAL "ON")
101 FILE(GLOB_RECURSE SRCS ${SRCS} src/rv/*.cpp)
102 ADD_DEFINITIONS(-DENABLE_RV)
103 ENDIF()
104
105 IF("${PRESSURE}" STREQUAL "ON")
106 FILE(GLOB_RECURSE SRCS ${SRCS} src/pressure/*.cpp)
107 ADD_DEFINITIONS(-DENABLE_PRESSURE)
108 ENDIF()
109
110 IF("${ULTRAVIOLET}" STREQUAL "ON")
111 FILE(GLOB_RECURSE SRCS ${SRCS} src/ultraviolet/*.cpp)
112 ADD_DEFINITIONS(-DENABLE_UV)
113 ENDIF()
114
115 IF("${PIR}" STREQUAL "ON")
116 FILE(GLOB_RECURSE SRCS ${SRCS} src/pir/*.cpp)
117 ADD_DEFINITIONS(-DENABLE_PIR)
118 ENDIF()
119
120 IF("${PIR_LONG}" STREQUAL "ON")
121 FILE(GLOB_RECURSE SRCS ${SRCS} src/pir_long/*.cpp)
122 ADD_DEFINITIONS(-DENABLE_PIR_LONG)
123 ENDIF()
124
125 IF("${TEMPERATURE}" STREQUAL "ON")
126 FILE(GLOB_RECURSE SRCS ${SRCS} src/temperature/*.cpp)
127 ADD_DEFINITIONS(-DENABLE_TEMPERATURE)
128 ENDIF()
129
130 IF("${HUMIDITY}" STREQUAL "ON")
131 FILE(GLOB_RECURSE SRCS ${SRCS} src/humidity/*.cpp)
132 ADD_DEFINITIONS(-DENABLE_HUMIDITY)
133 ENDIF()
134
135 IF("${TEMP_HUMIDITY}" STREQUAL "ON")
136 FILE(GLOB_RECURSE SRCS ${SRCS} src/temp_humidity/*.cpp)
137 ADD_DEFINITIONS(-DENABLE_TEMP_HUMIDITY)
138 ENDIF()
139
140 IF("${ULTRAVIOLET}" STREQUAL "ON")
141 FILE(GLOB_RECURSE SRCS ${SRCS} src/ultraviolet/*.cpp)
142 ADD_DEFINITIONS(-DENABLE_ULTRAVIOLET)
143 ENDIF()
144
145 IF("${DUST}" STREQUAL "ON")
146 FILE(GLOB_RECURSE SRCS ${SRCS} src/dust/*.cpp)
147 ADD_DEFINITIONS(-DENABLE_DUST)
148 ENDIF()
149
150 IF("${GSR}" STREQUAL "ON")
151 FILE(GLOB_RECURSE SRCS ${SRCS} src/gsr/*.cpp)
152 ADD_DEFINITIONS(-DENABLE_GSR)
153 ENDIF()
154
155 IF("${SENSORHUB}" STREQUAL "ON")
156 FILE(GLOB_RECURSE SRCS ${SRCS} src/sensorhub/*.cpp)
157 ADD_DEFINITIONS(-DENABLE_SENSORHUB)
158 ENDIF()
159
160 MESSAGE("Sources: ${SRCS}")
161 ADD_LIBRARY(${LIBRARY_NAME} SHARED ${SRCS})
162 TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${HAL_PKGS_LDFLAGS})
163
164 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.APLv2 DESTINATION ${HAL_LICENSEDIR}/${PROJECT_NAME})
165 INSTALL(TARGETS ${LIBRARY_NAME} DESTINATION ${HAL_LIBDIR} COMPONENT RuntimeLibraries)