From c9878ca0593c875ffdb3099f516e4e7dee2460f0 Mon Sep 17 00:00:00 2001 From: Chris Lalancette Date: Thu, 8 Aug 2024 17:28:06 -0400 Subject: [PATCH] Switch dwb_core to modern CMake idioms. (#4610) Signed-off-by: Chris Lalancette Signed-off-by: Joseph Duchesne --- nav2_dwb_controller/dwb_core/CMakeLists.txt | 93 +++++++++++-------- nav2_dwb_controller/dwb_core/package.xml | 45 ++++----- .../dwb_core/test/CMakeLists.txt | 5 +- 3 files changed, 76 insertions(+), 67 deletions(-) diff --git a/nav2_dwb_controller/dwb_core/CMakeLists.txt b/nav2_dwb_controller/dwb_core/CMakeLists.txt index 58c6323b650..e689b318058 100644 --- a/nav2_dwb_controller/dwb_core/CMakeLists.txt +++ b/nav2_dwb_controller/dwb_core/CMakeLists.txt @@ -2,64 +2,64 @@ cmake_minimum_required(VERSION 3.5) project(dwb_core) find_package(ament_cmake REQUIRED) -find_package(nav2_common REQUIRED) -find_package(rclcpp REQUIRED) -find_package(std_msgs REQUIRED) -find_package(geometry_msgs REQUIRED) -find_package(nav_2d_msgs REQUIRED) +find_package(builtin_interfaces REQUIRED) find_package(dwb_msgs REQUIRED) +find_package(geometry_msgs REQUIRED) +find_package(nav2_common REQUIRED) +find_package(nav2_core REQUIRED) find_package(nav2_costmap_2d REQUIRED) -find_package(pluginlib REQUIRED) -find_package(sensor_msgs REQUIRED) -find_package(visualization_msgs REQUIRED) +find_package(nav2_util REQUIRED) +find_package(nav_2d_msgs REQUIRED) find_package(nav_2d_utils REQUIRED) find_package(nav_msgs REQUIRED) +find_package(pluginlib REQUIRED) +find_package(rclcpp REQUIRED) +find_package(rclcpp_lifecycle REQUIRED) +find_package(sensor_msgs REQUIRED) +find_package(std_msgs REQUIRED) find_package(tf2_ros REQUIRED) -find_package(nav2_util REQUIRED) -find_package(nav2_core REQUIRED) +find_package(visualization_msgs REQUIRED) nav2_package() -include_directories( - include -) - -set(dependencies - rclcpp - std_msgs - geometry_msgs - nav_2d_msgs - dwb_msgs - nav2_costmap_2d - pluginlib - sensor_msgs - visualization_msgs - nav_2d_utils - nav_msgs - tf2_ros - nav2_util - nav2_core -) - add_library(dwb_core SHARED src/dwb_local_planner.cpp src/publisher.cpp src/illegal_trajectory_tracker.cpp src/trajectory_utils.cpp ) - -ament_target_dependencies(dwb_core - ${dependencies} +target_include_directories(dwb_core PUBLIC + "$" + "$" +) +target_link_libraries(dwb_core PUBLIC + ${builtin_interfaces_TARGETS} + ${dwb_msgs_TARGETS} + ${geometry_msgs_TARGETS} + nav2_core::nav2_core + nav2_costmap_2d::nav2_costmap_2d_core + nav2_util::nav2_util_core + ${nav_2d_msgs_TARGETS} + nav_2d_utils::conversions + nav_2d_utils::tf_help + ${nav_msgs_TARGETS} + pluginlib::pluginlib + rclcpp::rclcpp + rclcpp_lifecycle::rclcpp_lifecycle + ${sensor_msgs_TARGETS} + tf2_ros::tf2_ros + ${visualization_msgs_TARGETS} ) install(TARGETS dwb_core + EXPORT dwb_core ARCHIVE DESTINATION lib LIBRARY DESTINATION lib RUNTIME DESTINATION bin ) install(DIRECTORY include/ - DESTINATION include/ + DESTINATION include/${PROJECT_NAME} ) if(BUILD_TESTING) @@ -69,12 +69,31 @@ if(BUILD_TESTING) ament_lint_auto_find_test_dependencies() find_package(ament_cmake_gtest REQUIRED) + ament_find_gtest() + add_subdirectory(test) endif() -ament_export_include_directories(include) +ament_export_include_directories(include/${PROJECT_NAME}) ament_export_libraries(dwb_core) -ament_export_dependencies(${dependencies}) +ament_export_dependencies( + builtin_interfaces + dwb_msgs + geometry_msgs + nav2_core + nav2_costmap_2d + nav2_util + nav_2d_msgs + nav_2d_utils + nav_msgs + pluginlib + rclcpp + rclcpp_lifecycle + sensor_msgs + tf2_ros + visualization_msgs +) +ament_export_targets(dwb_core) pluginlib_export_plugin_description_file(nav2_core local_planner_plugin.xml) diff --git a/nav2_dwb_controller/dwb_core/package.xml b/nav2_dwb_controller/dwb_core/package.xml index 01f8e64b1cb..ea3e167a2bb 100644 --- a/nav2_dwb_controller/dwb_core/package.xml +++ b/nav2_dwb_controller/dwb_core/package.xml @@ -10,38 +10,25 @@ ament_cmake nav2_common - rclcpp - std_msgs - geometry_msgs - nav_2d_msgs - dwb_msgs - nav2_costmap_2d - pluginlib - sensor_msgs - visualization_msgs - nav_2d_utils - nav_msgs - tf2_ros - nav2_util - nav2_core - - rclcpp - std_msgs - rclcpp - std_msgs - geometry_msgs - dwb_msgs - nav2_costmap_2d - nav_2d_utils - pluginlib - nav_msgs - tf2_ros - nav2_util - nav2_core + builtin_interfaces + dwb_msgs + geometry_msgs + nav2_core + nav2_costmap_2d + nav2_util + nav_2d_msgs + nav_2d_utils + nav_msgs + pluginlib + rclcpp + rclcpp_lifecycle + sensor_msgs + tf2_ros + visualization_msgs + ament_cmake_gtest ament_lint_common ament_lint_auto - ament_cmake_gtest ament_cmake diff --git a/nav2_dwb_controller/dwb_core/test/CMakeLists.txt b/nav2_dwb_controller/dwb_core/test/CMakeLists.txt index 4c009a9416b..ad76143f03a 100644 --- a/nav2_dwb_controller/dwb_core/test/CMakeLists.txt +++ b/nav2_dwb_controller/dwb_core/test/CMakeLists.txt @@ -1,2 +1,5 @@ ament_add_gtest(utils_test utils_test.cpp) -target_link_libraries(utils_test dwb_core) +target_link_libraries(utils_test + dwb_core + ${dwb_msgs_TARGETS} +)