From e7b90c6c9509446a338899780107dc0390361cd4 Mon Sep 17 00:00:00 2001 From: matlabbe Date: Wed, 6 May 2026 17:09:02 +0000 Subject: [PATCH] Removing ament_target_dependencies --- rtabmap_conversions/CMakeLists.txt | 54 +++++++---- rtabmap_conversions/package.xml | 1 + rtabmap_costmap_plugins/CMakeLists.txt | 19 ++-- rtabmap_odom/CMakeLists.txt | 58 +++++++----- rtabmap_rviz_plugins/CMakeLists.txt | 24 ++--- rtabmap_slam/CMakeLists.txt | 47 +++++++++- rtabmap_sync/CMakeLists.txt | 52 +++++----- rtabmap_util/CMakeLists.txt | 125 +++++++++++++------------ rtabmap_util/package.xml | 1 + rtabmap_viz/CMakeLists.txt | 23 ++--- 10 files changed, 246 insertions(+), 158 deletions(-) diff --git a/rtabmap_conversions/CMakeLists.txt b/rtabmap_conversions/CMakeLists.txt index 11b82f62..edca00cd 100644 --- a/rtabmap_conversions/CMakeLists.txt +++ b/rtabmap_conversions/CMakeLists.txt @@ -28,28 +28,28 @@ find_package(std_msgs REQUIRED) find_package(tf2 REQUIRED) find_package(tf2_eigen REQUIRED) find_package(tf2_geometry_msgs REQUIRED) +find_package(tf2_ros REQUIRED) find_package(RTABMap 0.23.5 REQUIRED) -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR}/include -) - # libraries SET(Libraries - cv_bridge - geometry_msgs - image_geometry - laser_geometry - pcl_conversions - rclcpp - rtabmap_msgs - sensor_msgs - std_msgs - tf2 - tf2_eigen - tf2_geometry_msgs - RTABMap + geometry_msgs::geometry_msgs + image_geometry::image_geometry + laser_geometry::laser_geometry + pcl_conversions::pcl_conversions + rclcpp::rclcpp + rtabmap_msgs::rtabmap_msgs + sensor_msgs::sensor_msgs + std_msgs::std_msgs + tf2::tf2 + tf2_eigen::tf2_eigen + tf2_geometry_msgs::tf2_geometry_msgs +) +SET(PublicLibraries + rtabmap::core + cv_bridge::cv_bridge + tf2_ros::tf2_ros ) if("$ENV{ROS_DISTRO}" STRLESS "humble") @@ -74,7 +74,7 @@ target_include_directories(rtabmap_conversions $ $ ) -ament_target_dependencies(rtabmap_conversions ${Libraries}) +target_link_libraries(rtabmap_conversions PRIVATE ${Libraries} PUBLIC ${PublicLibraries}) IF("$ENV{ROS_DISTRO}" STRLESS "iron") target_compile_definitions(rtabmap_conversions PUBLIC -DPRE_ROS_IRON -DPRE_ROS_KILTED) @@ -85,8 +85,22 @@ ENDIF() ############# ## Install ## ############# - -ament_export_dependencies(${Libraries}) +SET(Depends + cv_bridge + geometry_msgs + image_geometry + laser_geometry + pcl_conversions + rclcpp + rtabmap_msgs + sensor_msgs + std_msgs + tf2 + tf2_eigen + tf2_geometry_msgs + RTABMap +) +ament_export_dependencies(${Depends}) ament_export_include_directories(include) ament_export_targets(${PROJECT_NAME}) # To include downstream with targets ament_export_libraries(rtabmap_conversions) # To include downstream without targets diff --git a/rtabmap_conversions/package.xml b/rtabmap_conversions/package.xml index a0c94b20..33c3fb7a 100644 --- a/rtabmap_conversions/package.xml +++ b/rtabmap_conversions/package.xml @@ -28,6 +28,7 @@ tf2 tf2_eigen tf2_geometry_msgs + tf2_ros ament_cmake diff --git a/rtabmap_costmap_plugins/CMakeLists.txt b/rtabmap_costmap_plugins/CMakeLists.txt index 390fa065..3e6c650a 100644 --- a/rtabmap_costmap_plugins/CMakeLists.txt +++ b/rtabmap_costmap_plugins/CMakeLists.txt @@ -16,10 +16,10 @@ include_directories( ) SET(Libraries - pluginlib - rclcpp - nav2_costmap_2d - visualization_msgs + pluginlib::pluginlib + rclcpp::rclcpp + nav2_costmap_2d::nav2_costmap_2d + visualization_msgs::visualization_msgs ) ########### @@ -39,7 +39,7 @@ IF("$ENV{ROS_DISTRO}" STRLESS "jazzy") target_compile_definitions(rtabmap_costmap_plugins PRIVATE -DPRE_ROS_JAZZY) ENDIF() -ament_target_dependencies(rtabmap_costmap_plugins ${Libraries}) +target_link_libraries(rtabmap_costmap_plugins PUBLIC ${Libraries}) # Causes the visibility macros to use dllexport rather than dllimport, # which is appropriate when building the dll but not consuming it. @@ -57,8 +57,13 @@ set_target_properties(rtabmap_costmap_voxel_marker PROPERTIES OUTPUT_NAME "voxel ############# ## Install ## ############# - -ament_export_dependencies(${Libraries}) +SET(Depends + pluginlib + rclcpp + nav2_costmap_2d + visualization_msgs +) +ament_export_dependencies(${Depends}) ament_export_include_directories(include) ament_export_targets(${PROJECT_NAME}) # To include downstream with targets ament_export_libraries(rtabmap_costmap_plugins) # To include downstream without targets diff --git a/rtabmap_odom/CMakeLists.txt b/rtabmap_odom/CMakeLists.txt index 96130502..7c7a2065 100644 --- a/rtabmap_odom/CMakeLists.txt +++ b/rtabmap_odom/CMakeLists.txt @@ -41,19 +41,18 @@ include_directories( ) SET(Libraries - cv_bridge - image_geometry - laser_geometry - message_filters - nav_msgs - pcl_conversions - pcl_ros - rclcpp - sensor_msgs - rtabmap_conversions - rtabmap_msgs - rtabmap_util - rtabmap_sync + cv_bridge::cv_bridge + image_geometry::image_geometry + laser_geometry::laser_geometry + message_filters::message_filters + nav_msgs::nav_msgs + pcl_conversions::pcl_conversions + rclcpp::rclcpp + sensor_msgs::sensor_msgs + rtabmap_conversions::rtabmap_conversions + rtabmap_msgs::rtabmap_msgs + rtabmap_util::rtabmap_util_plugins + rtabmap_sync::rtabmap_sync ) ########### @@ -81,10 +80,8 @@ target_include_directories(rtabmap_odom ) add_library(rtabmap_odom_plugins SHARED ${rtabmap_odom_plugins_lib_src}) -ament_target_dependencies(rtabmap_odom ${Libraries}) -ament_target_dependencies(rtabmap_odom_plugins ${Libraries}) - -target_link_libraries(rtabmap_odom_plugins rtabmap_odom) +target_link_libraries(rtabmap_odom PRIVATE ${Libraries}) +target_link_libraries(rtabmap_odom_plugins PUBLIC ${Libraries} rtabmap_odom) rclcpp_components_register_nodes(rtabmap_odom_plugins "rtabmap_odom::RGBDOdometry") rclcpp_components_register_nodes(rtabmap_odom_plugins "rtabmap_odom::StereoOdometry") @@ -92,25 +89,36 @@ rclcpp_components_register_nodes(rtabmap_odom_plugins "rtabmap_odom::ICPOdometry add_executable(rtabmap_rgbd_odometry src/RGBDOdometryNode.cpp) -ament_target_dependencies(rtabmap_rgbd_odometry ${Libraries}) -target_link_libraries(rtabmap_rgbd_odometry rtabmap_odom_plugins) +target_link_libraries(rtabmap_rgbd_odometry PRIVATE ${Libraries} rtabmap_odom_plugins) set_target_properties(rtabmap_rgbd_odometry PROPERTIES OUTPUT_NAME "rgbd_odometry") add_executable(rtabmap_stereo_odometry src/StereoOdometryNode.cpp) -ament_target_dependencies(rtabmap_stereo_odometry ${Libraries}) -target_link_libraries(rtabmap_stereo_odometry rtabmap_odom_plugins) +target_link_libraries(rtabmap_stereo_odometry PRIVATE ${Libraries} rtabmap_odom_plugins) set_target_properties(rtabmap_stereo_odometry PROPERTIES OUTPUT_NAME "stereo_odometry") add_executable(rtabmap_icp_odometry src/ICPOdometryNode.cpp) -ament_target_dependencies(rtabmap_icp_odometry ${Libraries}) -target_link_libraries(rtabmap_icp_odometry rtabmap_odom_plugins) +target_link_libraries(rtabmap_icp_odometry PRIVATE ${Libraries} rtabmap_odom_plugins) set_target_properties(rtabmap_icp_odometry PROPERTIES OUTPUT_NAME "icp_odometry") ############# ## Install ## ############# - -ament_export_dependencies(${Libraries}) +SET(Depends + cv_bridge + image_geometry + laser_geometry + message_filters + nav_msgs + pcl_conversions + pcl_ros + rclcpp + sensor_msgs + rtabmap_conversions + rtabmap_msgs + rtabmap_util + rtabmap_sync +) +ament_export_dependencies(${Depends}) ament_export_include_directories(include) ament_export_targets(${PROJECT_NAME}) # To include downstream with targets ament_export_libraries(rtabmap_odom rtabmap_odom_plugins) # To include downstream without targets diff --git a/rtabmap_rviz_plugins/CMakeLists.txt b/rtabmap_rviz_plugins/CMakeLists.txt index c26c7e1a..79d17d09 100644 --- a/rtabmap_rviz_plugins/CMakeLists.txt +++ b/rtabmap_rviz_plugins/CMakeLists.txt @@ -33,17 +33,17 @@ include_directories( ) SET(Libraries - pcl_conversions - pluginlib - rclcpp - rviz_common - rviz_rendering - rviz_default_plugins - sensor_msgs - std_msgs - tf2 - rtabmap_conversions - rtabmap_msgs + pcl_conversions::pcl_conversions + pluginlib::pluginlib + rclcpp::rclcpp + rviz_common::rviz_common + rviz_rendering::rviz_rendering + rviz_default_plugins::rviz_default_plugins + sensor_msgs::sensor_msgs + std_msgs::std_msgs + tf2::tf2 + rtabmap_conversions::rtabmap_conversions + rtabmap_msgs::rtabmap_msgs ) ########### @@ -74,7 +74,7 @@ target_include_directories(rtabmap_rviz_plugins $ ) -ament_target_dependencies(rtabmap_rviz_plugins ${Libraries}) +target_link_libraries(rtabmap_rviz_plugins PRIVATE ${Libraries}) # Causes the visibility macros to use dllexport rather than dllimport, # which is appropriate when building the dll but not consuming it. diff --git a/rtabmap_slam/CMakeLists.txt b/rtabmap_slam/CMakeLists.txt index f53b7aaa..06b2a067 100644 --- a/rtabmap_slam/CMakeLists.txt +++ b/rtabmap_slam/CMakeLists.txt @@ -54,6 +54,22 @@ include_directories( # libraries SET(Libraries + cv_bridge::cv_bridge + geometry_msgs::geometry_msgs + nav_msgs::nav_msgs + rclcpp::rclcpp + rclcpp_components::component + sensor_msgs::sensor_msgs + std_msgs::std_msgs + std_srvs::std_srvs + tf2::tf2 + tf2_ros::tf2_ros + visualization_msgs::visualization_msgs + rtabmap_msgs::rtabmap_msgs + rtabmap_util::rtabmap_util_plugins + rtabmap_sync::rtabmap_sync +) +SET(Depends cv_bridge geometry_msgs nav_msgs @@ -88,6 +104,10 @@ MESSAGE(STATUS "WITH apriltag_msgs") ADD_DEFINITIONS("-DWITH_APRILTAG_MSGS") SET(Libraries ${Libraries} + apriltag_msgs::apriltag_msgs +) +SET(Depends + ${Depends} apriltag_msgs ) ENDIF(apriltag_msgs_FOUND) @@ -98,6 +118,10 @@ MESSAGE(STATUS "WITH aruco_msgs") ADD_DEFINITIONS("-DWITH_ARUCO_MSGS") SET(Libraries ${Libraries} + aruco_msgs::aruco_msgs +) +SET(Depends + ${Depends} aruco_msgs ) ENDIF(aruco_msgs_FOUND) @@ -108,6 +132,10 @@ MESSAGE(STATUS "WITH aruco_opencv_msgs") ADD_DEFINITIONS("-DWITH_ARUCO_OPENCV_MSGS") SET(Libraries ${Libraries} + aruco_opencv_msgs::aruco_opencv_msgs +) +SET(Depends + ${Depends} aruco_opencv_msgs ) ENDIF(aruco_opencv_msgs_FOUND) @@ -118,6 +146,10 @@ MESSAGE(STATUS "WITH aruco_markers_msgs") ADD_DEFINITIONS("-DWITH_ARUCO_MARKERS_MSGS") SET(Libraries ${Libraries} + aruco_markers_msgs::aruco_markers_msgs +) +SET(Depends + ${Depends} aruco_markers_msgs ) ENDIF(aruco_markers_msgs_FOUND) @@ -128,6 +160,10 @@ MESSAGE(STATUS "WITH ros2_aruco_interfaces") ADD_DEFINITIONS("-DWITH_ROS2_ARUCO_INTERFACES") SET(Libraries ${Libraries} + ros2_aruco_interfaces::ros2_aruco_interfaces +) +SET(Depends + ${Depends} ros2_aruco_interfaces ) ENDIF(ros2_aruco_interfaces_FOUND) @@ -138,6 +174,10 @@ MESSAGE(STATUS "WITH nav2_msgs") ADD_DEFINITIONS("-DWITH_NAV2_MSGS") SET(Libraries ${Libraries} + nav2_msgs::nav2_msgs +) +SET(Depends + ${Depends} nav2_msgs ) IF(${nav2_msgs_VERSION_MAJOR} EQUAL 0) @@ -157,20 +197,19 @@ target_include_directories(rtabmap_slam_plugins $ ) -ament_target_dependencies(rtabmap_slam_plugins ${Libraries}) +target_link_libraries(rtabmap_slam_plugins PUBLIC ${Libraries}) rclcpp_components_register_nodes(rtabmap_slam_plugins "rtabmap_slam::CoreWrapper") add_executable(rtabmap_node src/CoreNode.cpp) -ament_target_dependencies(rtabmap_node ${Libraries}) -target_link_libraries(rtabmap_node rtabmap_slam_plugins) +target_link_libraries(rtabmap_node PRIVATE ${Libraries} rtabmap_slam_plugins) set_target_properties(rtabmap_node PROPERTIES OUTPUT_NAME "rtabmap") ############# ## Install ## ############# -ament_export_dependencies(${Libraries}) +ament_export_dependencies(${Depends}) ament_export_include_directories(include) ament_export_targets(${PROJECT_NAME}) # To include downstream with targets ament_export_libraries(rtabmap_slam_plugins) # To include downstream without targets diff --git a/rtabmap_sync/CMakeLists.txt b/rtabmap_sync/CMakeLists.txt index 5bbf39fd..e38fa4b0 100644 --- a/rtabmap_sync/CMakeLists.txt +++ b/rtabmap_sync/CMakeLists.txt @@ -55,16 +55,18 @@ include_directories( # libraries SET(Libraries - cv_bridge - image_transport - message_filters - nav_msgs - rclcpp - rclcpp_components - rtabmap_conversions - rtabmap_msgs - sensor_msgs - diagnostic_updater + cv_bridge::cv_bridge + message_filters::message_filters + nav_msgs::nav_msgs + rclcpp_components::component + sensor_msgs::sensor_msgs +) +SET(PublicLibraries + rclcpp::rclcpp + image_transport::image_transport + rtabmap_msgs::rtabmap_msgs + rtabmap_conversions::rtabmap_conversions + diagnostic_updater::diagnostic_updater ) ########### @@ -117,8 +119,8 @@ target_include_directories(rtabmap_sync $ ) -ament_target_dependencies(rtabmap_sync ${Libraries}) -ament_target_dependencies(rtabmap_sync_plugins ${Libraries}) +target_link_libraries(rtabmap_sync PRIVATE ${Libraries} PUBLIC ${PublicLibraries}) +target_link_libraries(rtabmap_sync_plugins PUBLIC ${Libraries} ${PublicLibraries}) rclcpp_components_register_nodes(rtabmap_sync_plugins "rtabmap_sync::RGBDSync") rclcpp_components_register_nodes(rtabmap_sync_plugins "rtabmap_sync::StereoSync") @@ -126,30 +128,38 @@ rclcpp_components_register_nodes(rtabmap_sync_plugins "rtabmap_sync::RGBSync") rclcpp_components_register_nodes(rtabmap_sync_plugins "rtabmap_sync::RGBDXSync") add_executable(rtabmap_rgbd_sync src/RGBDSyncNode.cpp) -ament_target_dependencies(rtabmap_rgbd_sync ${Libraries}) -target_link_libraries(rtabmap_rgbd_sync rtabmap_sync_plugins) +target_link_libraries(rtabmap_rgbd_sync PRIVATE rtabmap_sync_plugins) set_target_properties(rtabmap_rgbd_sync PROPERTIES OUTPUT_NAME "rgbd_sync") add_executable(rtabmap_rgbdx_sync src/RGBDXSyncNode.cpp) -ament_target_dependencies(rtabmap_rgbdx_sync ${Libraries}) -target_link_libraries(rtabmap_rgbdx_sync rtabmap_sync_plugins) +target_link_libraries(rtabmap_rgbdx_sync PRIVATE rtabmap_sync_plugins) set_target_properties(rtabmap_rgbdx_sync PROPERTIES OUTPUT_NAME "rgbdx_sync") add_executable(rtabmap_stereo_sync src/StereoSyncNode.cpp) -ament_target_dependencies(rtabmap_stereo_sync ${Libraries}) -target_link_libraries(rtabmap_stereo_sync rtabmap_sync_plugins) +target_link_libraries(rtabmap_stereo_sync PRIVATE rtabmap_sync_plugins) set_target_properties(rtabmap_stereo_sync PROPERTIES OUTPUT_NAME "stereo_sync") add_executable(rtabmap_rgb_sync src/RGBSyncNode.cpp) -ament_target_dependencies(rtabmap_rgb_sync ${Libraries}) -target_link_libraries(rtabmap_rgb_sync rtabmap_sync_plugins) +target_link_libraries(rtabmap_rgb_sync PRIVATE rtabmap_sync_plugins) set_target_properties(rtabmap_rgb_sync PROPERTIES OUTPUT_NAME "rgb_sync") ############# ## Install ## ############# -ament_export_dependencies(${Libraries}) +SET(Depends + cv_bridge + image_transport + message_filters + nav_msgs + rclcpp + rclcpp_components + rtabmap_conversions + rtabmap_msgs + sensor_msgs + diagnostic_updater +) +ament_export_dependencies(${Depends}) ament_export_include_directories(include) ament_export_targets(${PROJECT_NAME}) # To include downstream with targets ament_export_libraries(rtabmap_sync rtabmap_sync_plugins) # To include downstream without targets diff --git a/rtabmap_util/CMakeLists.txt b/rtabmap_util/CMakeLists.txt index e9edf324..b01b9a5b 100644 --- a/rtabmap_util/CMakeLists.txt +++ b/rtabmap_util/CMakeLists.txt @@ -28,6 +28,8 @@ find_package(rtabmap_msgs REQUIRED) find_package(rtabmap_conversions REQUIRED) find_package(rtabmap_sync REQUIRED) +find_package(RTABMap COMPONENTS gui REQUIRED) + # Optional components find_package(octomap_msgs) find_package(grid_map_ros) @@ -38,24 +40,24 @@ include_directories( # libraries SET(Libraries - cv_bridge - image_transport - rclcpp - rclcpp_components - sensor_msgs - stereo_msgs - nav_msgs - std_msgs - tf2 - tf2_geometry_msgs - tf2_ros - laser_geometry - pcl_conversions - pcl_ros - message_filters - rtabmap_msgs - rtabmap_conversions - rtabmap_sync + cv_bridge::cv_bridge + image_transport::image_transport + rclcpp::rclcpp + rclcpp_components::component + sensor_msgs::sensor_msgs + stereo_msgs::stereo_msgs + nav_msgs::nav_msgs + std_msgs::std_msgs + tf2::tf2 + tf2_geometry_msgs::tf2_geometry_msgs + tf2_ros::tf2_ros + laser_geometry::laser_geometry + image_geometry::image_geometry + pcl_conversions::pcl_conversions + message_filters::message_filters + rtabmap_msgs::rtabmap_msgs + rtabmap_conversions::rtabmap_conversions + rtabmap_sync::rtabmap_sync ) if("$ENV{ROS_DISTRO}" STRLESS "jazzy") @@ -82,31 +84,53 @@ SET(rtabmap_util_plugins_lib_src src/nodelets/rgbd_split.cpp src/nodelets/map_assembler.cpp ) +SET(Depends + cv_bridge + image_transport + rclcpp + rclcpp_components + sensor_msgs + stereo_msgs + nav_msgs + std_msgs + tf2 + tf2_geometry_msgs + tf2_ros + laser_geometry + pcl_conversions + pcl_ros + message_filters + rtabmap_msgs + rtabmap_conversions + rtabmap_sync +) # If octomap is found, add dependency IF(octomap_msgs_FOUND) MESSAGE(STATUS "WITH octomap_msgs") -include_directories( - ${octomap_msgs_INCLUDE_DIRS} -) SET(Libraries - octomap_msgs + octomap_msgs::octomap_msgs ${Libraries} ) +SET(Depends + octomap_msgs + ${Depends} +) ADD_DEFINITIONS("-DWITH_OCTOMAP_MSGS") ENDIF(octomap_msgs_FOUND) # If grid_map is found, add dependency IF(grid_map_ros_FOUND) MESSAGE(STATUS "WITH grid_map_ros") -include_directories( - ${grid_map_ros_INCLUDE_DIRS} -) SET(Libraries - grid_map_ros + grid_map_ros::grid_map_ros ${Libraries} ) +SET(Depends + grid_map_ros + ${Depends} +) ENDIF(grid_map_ros_FOUND) ############################ @@ -129,7 +153,7 @@ IF(grid_map_ros_FOUND) target_compile_definitions(rtabmap_util_plugins PUBLIC -DWITH_GRID_MAP_ROS) ENDIF(grid_map_ros_FOUND) -ament_target_dependencies(rtabmap_util_plugins ${Libraries}) +target_link_libraries(rtabmap_util_plugins PUBLIC ${Libraries}) rclcpp_components_register_nodes(rtabmap_util_plugins "rtabmap_util::RGBDRelay") rclcpp_components_register_nodes(rtabmap_util_plugins "rtabmap_util::RGBDSplit") @@ -146,85 +170,70 @@ rclcpp_components_register_nodes(rtabmap_util_plugins "rtabmap_util::PointCloudA rclcpp_components_register_nodes(rtabmap_util_plugins "rtabmap_util::MapAssembler") add_executable(rtabmap_rgbd_relay src/RGBDRelayNode.cpp) -ament_target_dependencies(rtabmap_rgbd_relay ${Libraries}) -target_link_libraries(rtabmap_rgbd_relay rtabmap_util_plugins) +target_link_libraries(rtabmap_rgbd_relay PRIVATE rtabmap_util_plugins) set_target_properties(rtabmap_rgbd_relay PROPERTIES OUTPUT_NAME "rgbd_relay") add_executable(rtabmap_rgbd_split src/RGBDSplitNode.cpp) -ament_target_dependencies(rtabmap_rgbd_split ${Libraries}) -target_link_libraries(rtabmap_rgbd_split rtabmap_util_plugins) +target_link_libraries(rtabmap_rgbd_split PRIVATE rtabmap_util_plugins) set_target_properties(rtabmap_rgbd_split PROPERTIES OUTPUT_NAME "rgbd_split") #add_executable(rtabmap_map_optimizer src/MapOptimizerNode.cpp) -#ament_target_dependencies(rtabmap_map_optimizer ${Libraries}) #target_link_libraries(rtabmap_map_optimizer rtabmap_util_plugins) #set_target_properties(rtabmap_map_optimizer PROPERTIES OUTPUT_NAME "map_optimizer") add_executable(rtabmap_map_assembler src/MapAssemblerNode.cpp) -ament_target_dependencies(rtabmap_map_assembler ${Libraries}) -target_link_libraries(rtabmap_map_assembler rtabmap_util_plugins) +target_link_libraries(rtabmap_map_assembler PRIVATE rtabmap_util_plugins) set_target_properties(rtabmap_map_assembler PROPERTIES OUTPUT_NAME "map_assembler") add_executable(rtabmap_imu_to_tf src/ImuToTFNode.cpp) -ament_target_dependencies(rtabmap_imu_to_tf ${Libraries}) -target_link_libraries(rtabmap_imu_to_tf rtabmap_util_plugins) +target_link_libraries(rtabmap_imu_to_tf PRIVATE rtabmap_util_plugins) set_target_properties(rtabmap_imu_to_tf PROPERTIES OUTPUT_NAME "imu_to_tf") add_executable(rtabmap_disparity_to_depth src/DisparityToDepthNode.cpp) -ament_target_dependencies(rtabmap_disparity_to_depth ${Libraries}) -target_link_libraries(rtabmap_disparity_to_depth rtabmap_util_plugins) +target_link_libraries(rtabmap_disparity_to_depth PRIVATE rtabmap_util_plugins) set_target_properties(rtabmap_disparity_to_depth PROPERTIES OUTPUT_NAME "disparity_to_depth") add_executable(rtabmap_lidar_deskewing src/LidarDeskewingNode.cpp) -ament_target_dependencies(rtabmap_lidar_deskewing ${Libraries}) -target_link_libraries(rtabmap_lidar_deskewing rtabmap_util_plugins) +target_link_libraries(rtabmap_lidar_deskewing PRIVATE rtabmap_util_plugins) set_target_properties(rtabmap_lidar_deskewing PROPERTIES OUTPUT_NAME "lidar_deskewing") add_executable(rtabmap_point_cloud_xyz src/PointCloudXYZNode.cpp) -ament_target_dependencies(rtabmap_point_cloud_xyz ${Libraries}) -target_link_libraries(rtabmap_point_cloud_xyz rtabmap_util_plugins) +target_link_libraries(rtabmap_point_cloud_xyz PRIVATE rtabmap_util_plugins) set_target_properties(rtabmap_point_cloud_xyz PROPERTIES OUTPUT_NAME "point_cloud_xyz") add_executable(rtabmap_point_cloud_xyzrgb src/PointCloudXYZRGBNode.cpp) -ament_target_dependencies(rtabmap_point_cloud_xyzrgb ${Libraries}) -target_link_libraries(rtabmap_point_cloud_xyzrgb rtabmap_util_plugins) +target_link_libraries(rtabmap_point_cloud_xyzrgb PRIVATE rtabmap_util_plugins) set_target_properties(rtabmap_point_cloud_xyzrgb PROPERTIES OUTPUT_NAME "point_cloud_xyzrgb") add_executable(rtabmap_data_player src/DbPlayerNode.cpp) -ament_target_dependencies(rtabmap_data_player ${Libraries}) -target_link_libraries(rtabmap_data_player rtabmap_util_plugins) +target_link_libraries(rtabmap_data_player PRIVATE rtabmap_util_plugins) set_target_properties(rtabmap_data_player PROPERTIES OUTPUT_NAME "data_player") #add_executable(rtabmap_odom_msg_to_tf src/OdomMsgToTFNode.cpp) -#ament_target_dependencies(rtabmap_odom_msg_to_tf ${Libraries}) -#target_link_libraries(rtabmap_odom_msg_to_tf rtabmap_util_plugins) +#target_link_libraries(rtabmap_odom_msg_to_tf PRIVATE ${Libraries}) +#target_link_libraries(rtabmap_odom_msg_to_tf PRIVATE rtabmap_util_plugins) #set_target_properties(rtabmap_odom_msg_to_tf PROPERTIES OUTPUT_NAME "odom_msg_to_tf") add_executable(rtabmap_pointcloud_to_depthimage src/PointCloudToDepthImageNode.cpp) -ament_target_dependencies(rtabmap_pointcloud_to_depthimage ${Libraries}) -target_link_libraries(rtabmap_pointcloud_to_depthimage rtabmap_util_plugins) +target_link_libraries(rtabmap_pointcloud_to_depthimage PRIVATE rtabmap_util_plugins) set_target_properties(rtabmap_pointcloud_to_depthimage PROPERTIES OUTPUT_NAME "pointcloud_to_depthimage") add_executable(rtabmap_obstacles_detection src/ObstaclesDetectionNode.cpp) -ament_target_dependencies(rtabmap_obstacles_detection ${Libraries}) -target_link_libraries(rtabmap_obstacles_detection rtabmap_util_plugins) +target_link_libraries(rtabmap_obstacles_detection PRIVATE rtabmap_util_plugins) set_target_properties(rtabmap_obstacles_detection PROPERTIES OUTPUT_NAME "obstacles_detection") add_executable(rtabmap_point_cloud_aggregator src/PointCloudAggregatorNode.cpp) -ament_target_dependencies(rtabmap_point_cloud_aggregator ${Libraries}) -target_link_libraries(rtabmap_point_cloud_aggregator rtabmap_util_plugins) +target_link_libraries(rtabmap_point_cloud_aggregator PRIVATE rtabmap_util_plugins) set_target_properties(rtabmap_point_cloud_aggregator PROPERTIES OUTPUT_NAME "point_cloud_aggregator") add_executable(rtabmap_point_cloud_assembler src/PointCloudAssemblerNode.cpp) -ament_target_dependencies(rtabmap_point_cloud_assembler ${Libraries}) -target_link_libraries(rtabmap_point_cloud_assembler rtabmap_util_plugins) +target_link_libraries(rtabmap_point_cloud_assembler PRIVATE rtabmap_util_plugins) set_target_properties(rtabmap_point_cloud_assembler PROPERTIES OUTPUT_NAME "point_cloud_assembler") ############# ## Install ## ############# - -ament_export_dependencies(${Libraries}) +ament_export_dependencies(${Depends}) ament_export_include_directories(include) ament_export_targets(${PROJECT_NAME}) # To include downstream with targets ament_export_libraries(rtabmap_util_plugins) # To include downstream without targets diff --git a/rtabmap_util/package.xml b/rtabmap_util/package.xml index 21d5df95..d356f8c9 100644 --- a/rtabmap_util/package.xml +++ b/rtabmap_util/package.xml @@ -27,6 +27,7 @@ tf2_geometry_msgs tf2_ros laser_geometry + image_geometry pcl_conversions pcl_ros message_filters diff --git a/rtabmap_viz/CMakeLists.txt b/rtabmap_viz/CMakeLists.txt index 60dcfd7c..d304d96d 100644 --- a/rtabmap_viz/CMakeLists.txt +++ b/rtabmap_viz/CMakeLists.txt @@ -43,15 +43,16 @@ include_directories( # libraries SET(Libraries - cv_bridge - geometry_msgs - rclcpp - std_msgs - std_srvs - nav_msgs - rtabmap_msgs - rtabmap_sync - tf2 + cv_bridge::cv_bridge + geometry_msgs::geometry_msgs + rclcpp::rclcpp + std_msgs::std_msgs + std_srvs::std_srvs + nav_msgs::nav_msgs + rtabmap_msgs::rtabmap_msgs + rtabmap_sync::rtabmap_sync + tf2::tf2 + rtabmap::gui ) ########### @@ -59,7 +60,7 @@ SET(Libraries ########### add_executable(rtabmap_viz src/GuiNode.cpp src/GuiWrapper.cpp src/PreferencesDialogROS.cpp include/${PROJECT_NAME}/PreferencesDialogROS.h) -ament_target_dependencies(rtabmap_viz ${Libraries}) +target_link_libraries(rtabmap_viz PRIVATE ${Libraries}) SET_TARGET_PROPERTIES( rtabmap_viz PROPERTIES @@ -69,7 +70,7 @@ SET_TARGET_PROPERTIES( ) add_executable(rgbd_image_viewer src/RGBDImageViewerNode.cpp src/rgbd_image_viewer.cpp include/${PROJECT_NAME}/rgbd_image_viewer.hpp) -ament_target_dependencies(rgbd_image_viewer ${Libraries}) +target_link_libraries(rgbd_image_viewer PRIVATE ${Libraries}) SET_TARGET_PROPERTIES( rgbd_image_viewer PROPERTIES