Skip to content

Commit b0cf968

Browse files
committed
Make Bosch API optional in CMakeLists.txt
1 parent 1a60562 commit b0cf968

File tree

1 file changed

+33
-8
lines changed

1 file changed

+33
-8
lines changed

mav_sensors_drivers/CMakeLists.txt

Lines changed: 33 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@ project(mav_sensors_drivers)
33

44
add_compile_options(-std=c++17)
55

6-
find_package(catkin REQUIRED roscpp lpp mav_sensors_core)
6+
find_package(catkin REQUIRED COMPONENTS
7+
roscpp
8+
lpp
9+
mav_sensors_core
10+
)
711

812
catkin_package(
913
INCLUDE_DIRS include lib/BMP3-Sensor-API lib/BMI08x-Sensor-API
@@ -17,28 +21,49 @@ add_compile_definitions(MODE_LPP)
1721
## Build ##
1822
###########
1923

24+
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/lib/BMP3-Sensor-API/)
25+
set(MAV_SENSORS_BMP3_SUPPORT ON)
26+
set(MAV_SENSORS_OPTIONAL_SRC_FILES ${MAV_SENSORS_OPTIONAL_SRC_FILES} src/barometer/bmp390.cpp)
27+
set(MAV_SENSORS_OPTIONAL_INCLUDE_DIRS ${MAV_SENSORS_OPTIONAL_INCLUDE_DIRS} lib/BMP3-Sensor-API)
28+
message(STATUS "Found BMP3-Sensor-API")
29+
else()
30+
message(WARNING "BMP3-Sensor-API not found. BMP3 sensor will not be supported.")
31+
endif()
32+
33+
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/lib/BMI08x-Sensor-API/)
34+
set(MAV_SENSORS_BMI08X_SUPPORT ON)
35+
set(MAV_SENSORS_OPTIONAL_SRC_FILES ${MAV_SENSORS_OPTIONAL_SRC_FILES} src/imu/bmi088.cpp)
36+
set(MAV_SENSORS_OPTIONAL_INCLUDE_DIRS ${MAV_SENSORS_OPTIONAL_INCLUDE_DIRS} lib/BMI08x-Sensor-API)
37+
message(STATUS "Found BMI08x-Sensor-API")
38+
else()
39+
message(WARNING "BMI08x-Sensor-API not found. BMI08x sensor will not be supported.")
40+
endif()
41+
2042
include_directories(
21-
include
22-
lib/BMP3-Sensor-API
23-
lib/BMI08x-Sensor-API
43+
include
44+
${MAV_SENSORS_OPTIONAL_INCLUDE_DIRS}
2445
${catkin_INCLUDE_DIRS}
2546
)
2647

2748
add_library(${PROJECT_NAME}
2849
src/imu/adis16448.cpp
29-
src/barometer/bmp390.cpp
30-
src/imu/bmi088.cpp
31-
src/radar/xwr18xx_mmw_demo.cpp)
50+
src/radar/xwr18xx_mmw_demo.cpp
51+
${MAV_SENSORS_OPTIONAL_SRC_FILES})
3252

53+
if (MAV_SENSORS_BMP3_SUPPORT)
3354
add_library(${PROJECT_NAME}_BMP3
3455
lib/BMP3-Sensor-API/bmp3.c)
56+
set(MAV_SENSOR_LIBRARIES ${MAV_SENSOR_LIBRARIES} ${PROJECT_NAME}_BMP3)
57+
endif()
3558

59+
if (MAV_SENSORS_BMI08X_SUPPORT)
3660
add_library(${PROJECT_NAME}_BMI08x
3761
lib/BMI08x-Sensor-API/bmi08a.c
3862
lib/BMI08x-Sensor-API/bmi08g.c
3963
lib/BMI08x-Sensor-API/bmi08xa.c)
64+
endif()
4065

41-
target_link_libraries(${PROJECT_NAME} PUBLIC ${PROJECT_NAME}_BMP3 ${catkin_LIBRARIES})
66+
target_link_libraries(${PROJECT_NAME} PUBLIC ${MAV_SENSOR_LIBRARIES} ${catkin_LIBRARIES})
4267

4368
install(TARGETS ${PROJECT_NAME}
4469
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}

0 commit comments

Comments
 (0)