Files
mir_amr/navigations/sbpl_lattice_planner/CMakeLists.txt
2026-05-28 10:29:58 +07:00

83 lines
2.6 KiB
CMake
Executable File

cmake_minimum_required(VERSION 3.5.1)
cmake_policy(SET CMP0048 NEW)
project(sbpl_lattice_planner)
##############################################################################
# Find dependencies
##############################################################################
set(THIS_PACKAGE_ROS_DEPS roscpp costmap_2d nav_core pluginlib tf tf2
geometry_msgs nav_msgs)
find_package(catkin REQUIRED COMPONENTS
${THIS_PACKAGE_ROS_DEPS} message_generation)
# Find SBPL
# find_package(SBPL REQUIRED)
find_package(PkgConfig REQUIRED)
pkg_check_modules(SBPL REQUIRED sbpl)
# include_directories(${SBPL_INCLUDE_DIRS})
link_directories(${SBPL_LIBRARY_DIRS})
# include_directories(include ${catkin_INCLUDE_DIRS} ${SBPL_INCLUDE_DIRS})
##############################################################################
# Generate messages
##############################################################################
add_message_files(FILES
SBPLLatticePlannerStats.msg
OccupancyGrid.msg)
generate_messages(DEPENDENCIES geometry_msgs nav_msgs)
##############################################################################
# Define package
##############################################################################
catkin_package(
INCLUDE_DIRS include
LIBRARIES ${PROJECT_NAME}
CATKIN_DEPENDS ${THIS_PACKAGE_ROS_DEPS} message_runtime
# DEPENDS SBPL
)
##############################################################################
# Build
##############################################################################
include_directories(
include
${catkin_INCLUDE_DIRS}
${SBPL_INCLUDE_DIRS}
)
add_library(${PROJECT_NAME} src/sbpl_lattice_planner.cpp)
target_link_libraries(${PROJECT_NAME} ${SBPL_LIBRARIES})
add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
target_compile_options(${PROJECT_NAME} PUBLIC "-Wno-terminate") # suppress warning from included SBPL header
##############################################################################
# Install
##############################################################################
install(TARGETS ${PROJECT_NAME}
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
install(DIRECTORY include/${PROJECT_NAME}/
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
FILES_MATCHING PATTERN "*.h"
PATTERN ".svn" EXCLUDE
)
install(FILES bgp_plugin.xml
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
)
install(DIRECTORY
launch
matlab
rviz
worlds
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
)