@@ -3,12 +3,10 @@ project(mav_sensors_drivers)
3
3
4
4
add_compile_options (-std=c++17 )
5
5
6
- find_package (catkin REQUIRED roscpp lpp mav_sensors_core )
7
-
8
- catkin_package (
9
- INCLUDE_DIRS include lib/BMP3-Sensor-API lib/BMI08x-Sensor-API
10
- LIBRARIES ${PROJECT_NAME} ${PROJECT_NAME} _BMP3 ${PROJECT_NAME} _BMI08x
11
- CATKIN_DEPENDS roscpp lpp mav_sensors_core
6
+ find_package (catkin REQUIRED COMPONENTS
7
+ roscpp
8
+ lpp
9
+ mav_sensors_core
12
10
)
13
11
14
12
add_compile_definitions (MODE_LPP )
@@ -17,28 +15,57 @@ add_compile_definitions(MODE_LPP)
17
15
## Build ##
18
16
###########
19
17
18
+ if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR} /lib/BMP3-Sensor-API/ )
19
+ set (MAV_SENSORS_BMP3_SUPPORT ON )
20
+ set (MAV_SENSORS_OPTIONAL_SRC_FILES ${MAV_SENSORS_OPTIONAL_SRC_FILES} src/barometer/bmp390.cpp )
21
+ set (MAV_SENSORS_OPTIONAL_INCLUDE_DIRS ${MAV_SENSORS_OPTIONAL_INCLUDE_DIRS} lib/BMP3-Sensor-API )
22
+ set (MAV_SENSORS_OPTIONAL_LIBRARIES ${MAV_SENSORS_OPTIONAL_LIBRARIES} ${PROJECT_NAME} _BMP3 )
23
+ message (STATUS "Found BMP3-Sensor-API" )
24
+ else ()
25
+ message (WARNING "BMP3-Sensor-API not found. BMP3 sensor will not be supported." )
26
+ endif ()
27
+
28
+ if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR} /lib/BMI08x-Sensor-API/ )
29
+ set (MAV_SENSORS_BMI08X_SUPPORT ON )
30
+ set (MAV_SENSORS_OPTIONAL_SRC_FILES ${MAV_SENSORS_OPTIONAL_SRC_FILES} src/imu/bmi088.cpp )
31
+ set (MAV_SENSORS_OPTIONAL_INCLUDE_DIRS ${MAV_SENSORS_OPTIONAL_INCLUDE_DIRS} lib/BMI08x-Sensor-API )
32
+ set (MAV_SENSORS_OPTIONAL_LIBRARIES ${MAV_SENSORS_OPTIONAL_LIBRARIES} ${PROJECT_NAME} _BMI08x )
33
+ message (STATUS "Found BMI08x-Sensor-API" )
34
+ else ()
35
+ message (WARNING "BMI08x-Sensor-API not found. BMI08x sensor will not be supported." )
36
+ endif ()
37
+
38
+ catkin_package (
39
+ INCLUDE_DIRS include ${MAV_SENSORS_OPTIONAL_INCLUDE_DIRS}
40
+ LIBRARIES ${PROJECT_NAME} ${MAV_SENSORS_OPTIONAL_LIBRARIES}
41
+ CATKIN_DEPENDS roscpp lpp mav_sensors_core
42
+ )
43
+
20
44
include_directories (
21
- include
22
- lib/BMP3-Sensor-API
23
- lib/BMI08x-Sensor-API
45
+ include
46
+ ${MAV_SENSORS_OPTIONAL_INCLUDE_DIRS}
24
47
${catkin_INCLUDE_DIRS}
25
48
)
26
49
27
50
add_library (${PROJECT_NAME}
28
51
src/imu/adis16448.cpp
29
- src/barometer/bmp390.cpp
30
- src/imu/bmi088.cpp
31
- src/radar/xwr18xx_mmw_demo.cpp )
52
+ src/radar/xwr18xx_mmw_demo.cpp
53
+ ${MAV_SENSORS_OPTIONAL_SRC_FILES} )
32
54
55
+ if (MAV_SENSORS_BMP3_SUPPORT )
33
56
add_library (${PROJECT_NAME} _BMP3
34
57
lib/BMP3-Sensor-API/bmp3.c )
58
+ set (MAV_SENSOR_LIBRARIES ${MAV_SENSOR_LIBRARIES} ${PROJECT_NAME} _BMP3 )
59
+ endif ()
35
60
61
+ if (MAV_SENSORS_BMI08X_SUPPORT )
36
62
add_library (${PROJECT_NAME} _BMI08x
37
63
lib/BMI08x-Sensor-API/bmi08a.c
38
64
lib/BMI08x-Sensor-API/bmi08g.c
39
65
lib/BMI08x-Sensor-API/bmi08xa.c )
66
+ endif ()
40
67
41
- target_link_libraries (${PROJECT_NAME} PUBLIC ${PROJECT_NAME} _BMP3 ${catkin_LIBRARIES} )
68
+ target_link_libraries (${PROJECT_NAME} PUBLIC ${MAV_SENSOR_LIBRARIES} ${catkin_LIBRARIES} )
42
69
43
70
install (TARGETS ${PROJECT_NAME}
44
71
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
0 commit comments