diff --git a/moveit_core/CMakeLists.txt b/moveit_core/CMakeLists.txt index ca30488f79..23fd387c3f 100644 --- a/moveit_core/CMakeLists.txt +++ b/moveit_core/CMakeLists.txt @@ -13,6 +13,7 @@ find_package(eigen_stl_containers REQUIRED) find_package(Eigen3 REQUIRED) find_package(eigen3_cmake_module REQUIRED) find_package(fcl REQUIRED) +find_package(fmt REQUIRED) find_package(generate_parameter_library REQUIRED) find_package(geometric_shapes REQUIRED) find_package(geometry_msgs REQUIRED) @@ -22,10 +23,12 @@ find_package(moveit_msgs REQUIRED) # https://github.com/moveit/moveit2/issues/2862 find_package(octomap 1.9.7...<1.10.0 REQUIRED) find_package(octomap_msgs REQUIRED) +find_package(orocos_kdl REQUIRED) find_package(osqp REQUIRED) find_package(pluginlib REQUIRED) find_package(random_numbers REQUIRED) find_package(rclcpp REQUIRED) +find_package(rmw_implementation REQUIRED) find_package(rsl REQUIRED) find_package(ruckig REQUIRED) find_package(sensor_msgs REQUIRED) @@ -68,8 +71,37 @@ add_subdirectory(transforms) add_subdirectory(utils) add_subdirectory(version) +# Create an umbrella INTERFACE target so downstream packages can use +# moveit_core::moveit_core to link all moveit_core libraries at once. +add_library(moveit_core INTERFACE) +target_link_libraries( + moveit_core + INTERFACE moveit_collision_detection + moveit_collision_detection_bullet + moveit_collision_detection_fcl + moveit_collision_distance_field + moveit_constraint_samplers + moveit_distance_field + moveit_dynamics_solver + moveit_exceptions + moveit_kinematic_constraints + moveit_kinematics_base + moveit_kinematics_metrics + moveit_macros + moveit_planning_interface + moveit_planning_scene + moveit_robot_model + moveit_robot_state + moveit_robot_trajectory + moveit_smoothing_base + moveit_test_utils + moveit_trajectory_processing + moveit_transforms + moveit_utils) + install( - TARGETS moveit_collision_detection + TARGETS moveit_core + moveit_collision_detection moveit_collision_detection_bullet moveit_collision_detection_fcl moveit_collision_distance_field @@ -119,6 +151,7 @@ ament_export_dependencies( Eigen3 eigen3_cmake_module fcl + fmt generate_parameter_library geometric_shapes geometry_msgs @@ -126,10 +159,12 @@ ament_export_dependencies( moveit_msgs octomap octomap_msgs + orocos_kdl osqp pluginlib random_numbers rclcpp + rmw_implementation rsl ruckig sensor_msgs diff --git a/moveit_core/collision_detection/CMakeLists.txt b/moveit_core/collision_detection/CMakeLists.txt index e3f8fd2120..403c2af048 100644 --- a/moveit_core/collision_detection/CMakeLists.txt +++ b/moveit_core/collision_detection/CMakeLists.txt @@ -16,19 +16,19 @@ target_include_directories( include(GenerateExportHeader) generate_export_header(moveit_collision_detection) -ament_target_dependencies( +target_link_libraries( moveit_collision_detection - eigen_stl_containers - pluginlib - rclcpp - rmw_implementation - urdf - urdfdom - urdfdom_headers - srdfdom - visualization_msgs - tf2_eigen - geometric_shapes + eigen_stl_containers::eigen_stl_containers + pluginlib::pluginlib + rclcpp::rclcpp + rmw_implementation::rmw_implementation + urdf::urdf + urdfdom::urdf_parser + urdfdom_headers::urdfdom_headers + srdfdom::srdfdom + ${visualization_msgs_TARGETS} + tf2_eigen::tf2_eigen + geometric_shapes::geometric_shapes octomap) target_include_directories( moveit_collision_detection BEFORE diff --git a/moveit_core/collision_detection_bullet/CMakeLists.txt b/moveit_core/collision_detection_bullet/CMakeLists.txt index feadeb6533..1ea799949a 100644 --- a/moveit_core/collision_detection_bullet/CMakeLists.txt +++ b/moveit_core/collision_detection_bullet/CMakeLists.txt @@ -18,35 +18,39 @@ target_include_directories( PUBLIC $) set_target_properties(moveit_collision_detection_bullet PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies(moveit_collision_detection_bullet SYSTEM BULLET) -ament_target_dependencies( +target_include_directories(moveit_collision_detection_bullet SYSTEM + PUBLIC ${BULLET_INCLUDE_DIRS}) +target_link_libraries( moveit_collision_detection_bullet - rclcpp - rmw_implementation - urdf - urdfdom - urdfdom_headers - visualization_msgs - octomap_msgs) -target_link_libraries(moveit_collision_detection_bullet - moveit_collision_detection moveit_utils) + moveit_collision_detection + moveit_utils + ${BULLET_LIBRARIES} + rclcpp::rclcpp + rmw_implementation::rmw_implementation + urdf::urdf + urdfdom::urdf_parser + urdfdom_headers::urdfdom_headers + ${visualization_msgs_TARGETS} + ${octomap_msgs_TARGETS}) add_library(collision_detector_bullet_plugin SHARED src/collision_detector_bullet_plugin_loader.cpp) set_target_properties(collision_detector_bullet_plugin PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies(collision_detector_bullet_plugin SYSTEM BULLET) -ament_target_dependencies( - collision_detector_bullet_plugin - rclcpp - urdf - visualization_msgs - pluginlib - rmw_implementation - octomap_msgs) +target_include_directories(collision_detector_bullet_plugin SYSTEM + PUBLIC ${BULLET_INCLUDE_DIRS}) target_link_libraries( - collision_detector_bullet_plugin moveit_collision_detection_bullet - moveit_planning_scene moveit_utils) + collision_detector_bullet_plugin + moveit_collision_detection_bullet + moveit_planning_scene + moveit_utils + ${BULLET_LIBRARIES} + rclcpp::rclcpp + urdf::urdf + ${visualization_msgs_TARGETS} + pluginlib::pluginlib + rmw_implementation::rmw_implementation + ${octomap_msgs_TARGETS}) install(DIRECTORY include/ DESTINATION include/moveit_core) install( diff --git a/moveit_core/collision_detection_fcl/CMakeLists.txt b/moveit_core/collision_detection_fcl/CMakeLists.txt index ece406480c..63922f49ec 100644 --- a/moveit_core/collision_detection_fcl/CMakeLists.txt +++ b/moveit_core/collision_detection_fcl/CMakeLists.txt @@ -11,26 +11,32 @@ target_include_directories( PUBLIC $) set_target_properties(moveit_collision_detection_fcl PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies( +target_link_libraries( moveit_collision_detection_fcl - rclcpp - rmw_implementation - urdf - urdfdom - urdfdom_headers - visualization_msgs) -target_link_libraries(moveit_collision_detection_fcl moveit_collision_detection - moveit_utils fcl) + moveit_collision_detection + moveit_utils + fcl + rclcpp::rclcpp + rmw_implementation::rmw_implementation + urdf::urdf + urdfdom::urdf_parser + urdfdom_headers::urdfdom_headers + ${visualization_msgs_TARGETS}) add_library(collision_detector_fcl_plugin SHARED src/collision_detector_fcl_plugin_loader.cpp) set_target_properties(collision_detector_fcl_plugin PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies(collision_detector_fcl_plugin rclcpp urdf - visualization_msgs pluginlib rmw_implementation) target_link_libraries( - collision_detector_fcl_plugin moveit_collision_detection_fcl - moveit_planning_scene moveit_utils) + collision_detector_fcl_plugin + moveit_collision_detection_fcl + moveit_planning_scene + moveit_utils + rclcpp::rclcpp + urdf::urdf + ${visualization_msgs_TARGETS} + pluginlib::pluginlib + rmw_implementation::rmw_implementation) install(DIRECTORY include/ DESTINATION include/moveit_core) install( diff --git a/moveit_core/collision_distance_field/CMakeLists.txt b/moveit_core/collision_distance_field/CMakeLists.txt index 63b63a013d..8bb5e32837 100644 --- a/moveit_core/collision_distance_field/CMakeLists.txt +++ b/moveit_core/collision_distance_field/CMakeLists.txt @@ -15,12 +15,17 @@ target_include_directories( set_target_properties(moveit_collision_distance_field PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies(moveit_collision_distance_field urdf - visualization_msgs tf2_eigen geometric_shapes octomap) - target_link_libraries( - moveit_collision_distance_field moveit_planning_scene moveit_distance_field - moveit_collision_detection moveit_robot_state) + moveit_collision_distance_field + moveit_planning_scene + moveit_distance_field + moveit_collision_detection + moveit_robot_state + urdf::urdf + ${visualization_msgs_TARGETS} + tf2_eigen::tf2_eigen + geometric_shapes::geometric_shapes + octomap) install(DIRECTORY include/ DESTINATION include/moveit_core) install( @@ -33,8 +38,6 @@ if(BUILD_TESTING) ament_add_gtest(test_collision_distance_field test/test_collision_distance_field.cpp) - ament_target_dependencies(test_collision_distance_field geometric_shapes - octomap srdfdom resource_retriever) target_link_libraries( test_collision_distance_field moveit_collision_distance_field @@ -44,5 +47,9 @@ if(BUILD_TESTING) moveit_robot_state moveit_test_utils moveit_transforms - moveit_planning_scene) + moveit_planning_scene + geometric_shapes::geometric_shapes + octomap + srdfdom::srdfdom + resource_retriever::resource_retriever) endif() diff --git a/moveit_core/constraint_samplers/CMakeLists.txt b/moveit_core/constraint_samplers/CMakeLists.txt index 25cda7dc66..2cdbe05df2 100644 --- a/moveit_core/constraint_samplers/CMakeLists.txt +++ b/moveit_core/constraint_samplers/CMakeLists.txt @@ -9,8 +9,6 @@ target_include_directories( $) set_target_properties(moveit_constraint_samplers PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies(moveit_constraint_samplers urdf urdfdom - urdfdom_headers visualization_msgs) target_link_libraries( moveit_constraint_samplers moveit_robot_trajectory @@ -18,7 +16,11 @@ target_link_libraries( moveit_kinematic_constraints moveit_kinematics_base moveit_planning_scene - moveit_utils) + moveit_utils + urdf::urdf + urdfdom::urdf_parser + urdfdom_headers::urdfdom_headers + ${visualization_msgs_TARGETS}) install(DIRECTORY include/ DESTINATION include/moveit_core) @@ -43,7 +45,6 @@ if(BUILD_TESTING) test/pr2_arm_kinematics_plugin.cpp test/pr2_arm_ik.cpp) target_include_directories(test_constraint_samplers PUBLIC ${geometry_msgs_INCLUDE_DIRS}) - ament_target_dependencies(test_constraint_samplers kdl_parser) target_link_libraries(test_constraint_samplers moveit_test_utils moveit_utils - moveit_constraint_samplers) + moveit_constraint_samplers kdl_parser::kdl_parser) endif() diff --git a/moveit_core/distance_field/CMakeLists.txt b/moveit_core/distance_field/CMakeLists.txt index 165d82a7aa..5c3723cc8e 100644 --- a/moveit_core/distance_field/CMakeLists.txt +++ b/moveit_core/distance_field/CMakeLists.txt @@ -6,19 +6,21 @@ target_include_directories( moveit_distance_field PUBLIC $ $) -target_link_libraries(moveit_distance_field moveit_macros moveit_utils) -set_target_properties(moveit_distance_field - PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies( +target_link_libraries( moveit_distance_field - Boost - eigen_stl_containers - urdfdom - urdfdom_headers - visualization_msgs - geometric_shapes - tf2_eigen + moveit_macros + moveit_utils + Boost::headers + Boost::iostreams + eigen_stl_containers::eigen_stl_containers + urdfdom::urdf_parser + urdfdom_headers::urdfdom_headers + ${visualization_msgs_TARGETS} + geometric_shapes::geometric_shapes + tf2_eigen::tf2_eigen octomap) +set_target_properties(moveit_distance_field + PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") install(DIRECTORY include/ DESTINATION include/moveit_core) diff --git a/moveit_core/dynamics_solver/CMakeLists.txt b/moveit_core/dynamics_solver/CMakeLists.txt index 04afe66ef0..c6c5a1d4ef 100644 --- a/moveit_core/dynamics_solver/CMakeLists.txt +++ b/moveit_core/dynamics_solver/CMakeLists.txt @@ -6,8 +6,14 @@ target_include_directories( set_target_properties(moveit_dynamics_solver PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies(moveit_dynamics_solver urdf urdfdom_headers - orocos_kdl visualization_msgs kdl_parser) -target_link_libraries(moveit_dynamics_solver moveit_robot_state moveit_utils) +target_link_libraries( + moveit_dynamics_solver + moveit_robot_state + moveit_utils + urdf::urdf + urdfdom_headers::urdfdom_headers + ${orocos_kdl_LIBRARIES} + ${visualization_msgs_TARGETS} + kdl_parser::kdl_parser) install(DIRECTORY include/ DESTINATION include/moveit_core) diff --git a/moveit_core/exceptions/CMakeLists.txt b/moveit_core/exceptions/CMakeLists.txt index 26591d955a..04027c2ef7 100644 --- a/moveit_core/exceptions/CMakeLists.txt +++ b/moveit_core/exceptions/CMakeLists.txt @@ -5,8 +5,8 @@ target_include_directories( $) set_target_properties(moveit_exceptions PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies(moveit_exceptions Boost rclcpp urdfdom - urdfdom_headers) -target_link_libraries(moveit_exceptions moveit_utils) +target_link_libraries( + moveit_exceptions moveit_utils Boost::headers rclcpp::rclcpp + urdfdom::urdf_parser urdfdom_headers::urdfdom_headers) install(DIRECTORY include/ DESTINATION include/moveit_core) diff --git a/moveit_core/kinematic_constraints/CMakeLists.txt b/moveit_core/kinematic_constraints/CMakeLists.txt index 51f33e4950..534f511796 100644 --- a/moveit_core/kinematic_constraints/CMakeLists.txt +++ b/moveit_core/kinematic_constraints/CMakeLists.txt @@ -16,19 +16,20 @@ target_include_directories( set_target_properties(moveit_kinematic_constraints PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies( - moveit_kinematic_constraints - urdf - urdfdom - urdfdom_headers - tf2_geometry_msgs - geometry_msgs - visualization_msgs - tf2_eigen) - target_link_libraries( - moveit_kinematic_constraints moveit_collision_detection_fcl - moveit_kinematics_base moveit_robot_state moveit_robot_model moveit_utils) + moveit_kinematic_constraints + moveit_collision_detection_fcl + moveit_kinematics_base + moveit_robot_state + moveit_robot_model + moveit_utils + urdf::urdf + urdfdom::urdf_parser + urdfdom_headers::urdfdom_headers + ${tf2_geometry_msgs_TARGETS} + ${geometry_msgs_TARGETS} + ${visualization_msgs_TARGETS} + tf2_eigen::tf2_eigen) install(DIRECTORY include/ DESTINATION include/moveit_core) diff --git a/moveit_core/kinematics_base/CMakeLists.txt b/moveit_core/kinematics_base/CMakeLists.txt index 1802539000..29ff3953e5 100644 --- a/moveit_core/kinematics_base/CMakeLists.txt +++ b/moveit_core/kinematics_base/CMakeLists.txt @@ -11,16 +11,15 @@ target_include_directories( moveit_kinematics_base PUBLIC $ )# for this library -# This line ensures that messages are built before the library is built -ament_target_dependencies( +target_link_libraries( moveit_kinematics_base - rclcpp - urdf - urdfdom_headers - srdfdom - moveit_msgs - geometric_shapes - geometry_msgs) + rclcpp::rclcpp + urdf::urdf + urdfdom_headers::urdfdom_headers + srdfdom::srdfdom + ${moveit_msgs_TARGETS} + geometric_shapes::geometric_shapes + ${geometry_msgs_TARGETS}) install(DIRECTORY include/ DESTINATION include/moveit_core) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/moveit_kinematics_base_export.h diff --git a/moveit_core/kinematics_metrics/CMakeLists.txt b/moveit_core/kinematics_metrics/CMakeLists.txt index e760b834ea..6255198ff6 100644 --- a/moveit_core/kinematics_metrics/CMakeLists.txt +++ b/moveit_core/kinematics_metrics/CMakeLists.txt @@ -6,10 +6,13 @@ target_include_directories( set_target_properties(moveit_kinematics_metrics PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies(moveit_kinematics_metrics urdf urdfdom_headers - visualization_msgs) - -target_link_libraries(moveit_kinematics_metrics moveit_robot_model - moveit_robot_state moveit_utils) +target_link_libraries( + moveit_kinematics_metrics + moveit_robot_model + moveit_robot_state + moveit_utils + urdf::urdf + urdfdom_headers::urdfdom_headers + ${visualization_msgs_TARGETS}) install(DIRECTORY include/ DESTINATION include/moveit_core) diff --git a/moveit_core/online_signal_smoothing/CMakeLists.txt b/moveit_core/online_signal_smoothing/CMakeLists.txt index 1f1912c6d9..7d3b6dd014 100644 --- a/moveit_core/online_signal_smoothing/CMakeLists.txt +++ b/moveit_core/online_signal_smoothing/CMakeLists.txt @@ -5,12 +5,12 @@ target_include_directories( PUBLIC $ $ $) -target_link_libraries(moveit_smoothing_base ${Eigen_LIBRARIES} moveit_macros) +target_link_libraries(moveit_smoothing_base ${Eigen_LIBRARIES} moveit_macros + rclcpp::rclcpp tf2_eigen::tf2_eigen) include(GenerateExportHeader) generate_export_header(moveit_smoothing_base) set_target_properties(moveit_smoothing_base PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies(moveit_smoothing_base rclcpp tf2_eigen) # Plugin implementations add_library(moveit_acceleration_filter SHARED src/acceleration_filter.cpp) @@ -23,12 +23,13 @@ set_target_properties(moveit_acceleration_filter generate_parameter_library(moveit_acceleration_filter_parameters src/acceleration_filter_parameters.yaml) target_link_libraries( - moveit_acceleration_filter moveit_acceleration_filter_parameters - moveit_robot_state moveit_smoothing_base osqp::osqp) -ament_target_dependencies( - moveit_acceleration_filter srdfdom # include dependency from - # moveit_robot_model - pluginlib) + moveit_acceleration_filter + moveit_acceleration_filter_parameters + moveit_robot_state + moveit_smoothing_base + osqp::osqp + srdfdom::srdfdom + pluginlib::pluginlib) add_library(moveit_butterworth_filter SHARED src/butterworth_filter.cpp) generate_export_header(moveit_butterworth_filter) @@ -41,11 +42,8 @@ generate_parameter_library(moveit_butterworth_filter_parameters src/butterworth_parameters.yaml) target_link_libraries( moveit_butterworth_filter moveit_butterworth_filter_parameters - moveit_robot_model moveit_smoothing_base) -ament_target_dependencies( - moveit_butterworth_filter - srdfdom # include dependency from moveit_robot_model - pluginlib) + moveit_robot_model moveit_smoothing_base srdfdom::srdfdom + pluginlib::pluginlib) add_library(moveit_ruckig_filter SHARED src/ruckig_filter.cpp) generate_export_header(moveit_ruckig_filter) @@ -56,11 +54,13 @@ set_target_properties(moveit_ruckig_filter generate_parameter_library(moveit_ruckig_filter_parameters src/ruckig_filter_parameters.yaml) target_link_libraries( - moveit_ruckig_filter moveit_robot_state moveit_ruckig_filter_parameters - moveit_smoothing_base ruckig::ruckig) -ament_target_dependencies( - moveit_ruckig_filter srdfdom # include dependency from moveit_robot_model - pluginlib) + moveit_ruckig_filter + moveit_robot_state + moveit_ruckig_filter_parameters + moveit_smoothing_base + ruckig::ruckig + srdfdom::srdfdom + pluginlib::pluginlib) # Installation install(DIRECTORY include/ DESTINATION include/moveit_core) diff --git a/moveit_core/planning_interface/CMakeLists.txt b/moveit_core/planning_interface/CMakeLists.txt index 338765e2f9..6a79dd7a02 100644 --- a/moveit_core/planning_interface/CMakeLists.txt +++ b/moveit_core/planning_interface/CMakeLists.txt @@ -6,9 +6,15 @@ target_include_directories( $) set_target_properties(moveit_planning_interface PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies(moveit_planning_interface moveit_msgs urdf urdfdom - urdfdom_headers) -target_link_libraries(moveit_planning_interface moveit_robot_trajectory - moveit_robot_state moveit_planning_scene moveit_utils) +target_link_libraries( + moveit_planning_interface + moveit_robot_trajectory + moveit_robot_state + moveit_planning_scene + moveit_utils + ${moveit_msgs_TARGETS} + urdf::urdf + urdfdom::urdf_parser + urdfdom_headers::urdfdom_headers) install(DIRECTORY include/ DESTINATION include/moveit_core) diff --git a/moveit_core/planning_scene/CMakeLists.txt b/moveit_core/planning_scene/CMakeLists.txt index debb3e5b65..c6eee289be 100644 --- a/moveit_core/planning_scene/CMakeLists.txt +++ b/moveit_core/planning_scene/CMakeLists.txt @@ -10,15 +10,6 @@ target_include_directories( # TODO: Fix the versioning set_target_properties(moveit_planning_scene PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies( - moveit_planning_scene - Boost - rclcpp - urdfdom - urdfdom_headers - octomap_msgs - octomap) - target_link_libraries( moveit_planning_scene moveit_robot_model @@ -30,7 +21,13 @@ target_link_libraries( moveit_kinematic_constraints moveit_robot_trajectory moveit_trajectory_processing - moveit_utils) + moveit_utils + Boost::headers + rclcpp::rclcpp + urdfdom::urdf_parser + urdfdom_headers::urdfdom_headers + ${octomap_msgs_TARGETS} + octomap) install(DIRECTORY include/ DESTINATION include/moveit_core) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/moveit_planning_scene_export.h @@ -47,9 +44,9 @@ if(BUILD_TESTING) ament_add_gtest(test_planning_scene test/test_planning_scene.cpp APPEND_LIBRARY_DIRS "${APPEND_LIBRARY_DIRS}") - ament_target_dependencies(test_planning_scene geometric_shapes srdfdom) - target_link_libraries(test_planning_scene moveit_test_utils - moveit_planning_scene) + target_link_libraries( + test_planning_scene moveit_test_utils moveit_planning_scene + geometric_shapes::geometric_shapes srdfdom::srdfdom) ament_add_gtest(test_collision_objects test/test_collision_objects.cpp APPEND_LIBRARY_DIRS "${APPEND_LIBRARY_DIRS}") diff --git a/moveit_core/robot_model/CMakeLists.txt b/moveit_core/robot_model/CMakeLists.txt index 2886ed4f0a..d6166a13db 100644 --- a/moveit_core/robot_model/CMakeLists.txt +++ b/moveit_core/robot_model/CMakeLists.txt @@ -28,25 +28,26 @@ target_include_directories( $) set_target_properties(moveit_robot_model PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies( +target_link_libraries( moveit_robot_model - angles - moveit_msgs - Eigen3 - eigen_stl_containers - geometric_shapes - urdf - urdfdom_headers - srdfdom - visualization_msgs) -target_link_libraries(moveit_robot_model moveit_exceptions moveit_macros - moveit_utils) + moveit_exceptions + moveit_macros + moveit_utils + angles::angles + ${moveit_msgs_TARGETS} + Eigen3::Eigen + eigen_stl_containers::eigen_stl_containers + geometric_shapes::geometric_shapes + urdf::urdf + urdfdom_headers::urdfdom_headers + srdfdom::srdfdom + ${visualization_msgs_TARGETS}) if(BUILD_TESTING) find_package(ament_cmake_gtest REQUIRED) ament_add_gtest(test_robot_model test/test.cpp) - ament_target_dependencies(test_robot_model rclcpp) - target_link_libraries(test_robot_model moveit_test_utils moveit_robot_model) + target_link_libraries(test_robot_model moveit_test_utils moveit_robot_model + rclcpp::rclcpp) endif() install(DIRECTORY include/ DESTINATION include/moveit_core) diff --git a/moveit_core/robot_state/CMakeLists.txt b/moveit_core/robot_state/CMakeLists.txt index a906be7069..44ccde09a6 100644 --- a/moveit_core/robot_state/CMakeLists.txt +++ b/moveit_core/robot_state/CMakeLists.txt @@ -7,16 +7,17 @@ target_include_directories( $) set_target_properties(moveit_robot_state PROPERTIES VERSION ${${PROJECT_NAME}_VERSION}) -ament_target_dependencies( +target_link_libraries( moveit_robot_state - eigen_stl_containers - urdf - tf2_geometry_msgs - geometric_shapes - urdfdom_headers - Boost) -target_link_libraries(moveit_robot_state moveit_robot_model - moveit_kinematics_base moveit_transforms) + moveit_robot_model + moveit_kinematics_base + moveit_transforms + eigen_stl_containers::eigen_stl_containers + urdf::urdf + ${tf2_geometry_msgs_TARGETS} + geometric_shapes::geometric_shapes + urdfdom_headers::urdfdom_headers + Boost::headers) install(DIRECTORY include/ DESTINATION include/moveit_core) @@ -58,7 +59,7 @@ if(BUILD_TESTING) ament_add_google_benchmark(robot_state_benchmark test/robot_state_benchmark.cpp) - ament_target_dependencies(robot_state_benchmark kdl_parser) - target_link_libraries(robot_state_benchmark moveit_robot_model - moveit_test_utils moveit_robot_state) + target_link_libraries( + robot_state_benchmark moveit_robot_model moveit_test_utils + moveit_robot_state kdl_parser::kdl_parser) endif() diff --git a/moveit_core/robot_trajectory/CMakeLists.txt b/moveit_core/robot_trajectory/CMakeLists.txt index c4b26ebb82..14594034be 100644 --- a/moveit_core/robot_trajectory/CMakeLists.txt +++ b/moveit_core/robot_trajectory/CMakeLists.txt @@ -5,11 +5,14 @@ target_include_directories( $) set_target_properties(moveit_robot_trajectory PROPERTIES VERSION ${${PROJECT_NAME}_VERSION}) -ament_target_dependencies(moveit_robot_trajectory rclcpp urdfdom - urdfdom_headers) - -target_link_libraries(moveit_robot_trajectory moveit_robot_model - moveit_robot_state moveit_utils) +target_link_libraries( + moveit_robot_trajectory + moveit_robot_model + moveit_robot_state + moveit_utils + rclcpp::rclcpp + urdfdom::urdf_parser + urdfdom_headers::urdfdom_headers) install(DIRECTORY include/ DESTINATION include/moveit_core) diff --git a/moveit_core/trajectory_processing/CMakeLists.txt b/moveit_core/trajectory_processing/CMakeLists.txt index bbbe8d1f2c..a4e3b128cb 100644 --- a/moveit_core/trajectory_processing/CMakeLists.txt +++ b/moveit_core/trajectory_processing/CMakeLists.txt @@ -8,17 +8,18 @@ target_include_directories( $) set_target_properties(moveit_trajectory_processing PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies( +target_link_libraries( moveit_trajectory_processing - rclcpp - rmw_implementation - urdf - urdfdom - urdfdom_headers - visualization_msgs - Boost) -target_link_libraries(moveit_trajectory_processing moveit_robot_state - moveit_robot_trajectory ruckig::ruckig) + moveit_robot_state + moveit_robot_trajectory + ruckig::ruckig + rclcpp::rclcpp + rmw_implementation::rmw_implementation + urdf::urdf + urdfdom::urdf_parser + urdfdom_headers::urdfdom_headers + ${visualization_msgs_TARGETS} + Boost::headers) install(DIRECTORY include/ DESTINATION include/moveit_core) diff --git a/moveit_core/transforms/CMakeLists.txt b/moveit_core/transforms/CMakeLists.txt index 5880e5795a..26316c2e87 100644 --- a/moveit_core/transforms/CMakeLists.txt +++ b/moveit_core/transforms/CMakeLists.txt @@ -3,18 +3,19 @@ target_include_directories( moveit_transforms PUBLIC $ $) -target_link_libraries(moveit_transforms moveit_macros moveit_utils) +target_link_libraries( + moveit_transforms + moveit_macros + moveit_utils + geometric_shapes::geometric_shapes + tf2_eigen::tf2_eigen + rclcpp::rclcpp + rmw_implementation::rmw_implementation + urdfdom::urdf_parser + urdfdom_headers::urdfdom_headers + Boost::headers) set_target_properties(moveit_transforms PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies( - moveit_transforms - geometric_shapes - tf2_eigen - rclcpp - rmw_implementation - urdfdom - urdfdom_headers - Boost) install(DIRECTORY include/ DESTINATION include/moveit_core) diff --git a/moveit_core/utils/CMakeLists.txt b/moveit_core/utils/CMakeLists.txt index ca44183fa0..0a354168a4 100644 --- a/moveit_core/utils/CMakeLists.txt +++ b/moveit_core/utils/CMakeLists.txt @@ -3,8 +3,8 @@ add_library(moveit_utils SHARED src/lexical_casts.cpp src/message_checks.cpp target_include_directories( moveit_utils PUBLIC $ $) -ament_target_dependencies(moveit_utils Boost moveit_msgs rclcpp fmt) -target_link_libraries(moveit_utils rsl::rsl) +target_link_libraries(moveit_utils rsl::rsl Boost::headers + ${moveit_msgs_TARGETS} rclcpp::rclcpp fmt::fmt) set_target_properties(moveit_utils PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") @@ -16,20 +16,22 @@ target_include_directories( moveit_test_utils PUBLIC $ $) -target_link_libraries(moveit_test_utils moveit_robot_model - moveit_kinematics_base rsl::rsl) -ament_target_dependencies( +target_link_libraries( moveit_test_utils - ament_index_cpp - Boost - geometry_msgs - urdf - pluginlib - srdfdom - urdfdom - urdfdom_headers - rclcpp - fmt) + moveit_robot_model + moveit_kinematics_base + rsl::rsl + ament_index_cpp::ament_index_cpp + Boost::headers + Boost::regex + ${geometry_msgs_TARGETS} + urdf::urdf + pluginlib::pluginlib + srdfdom::srdfdom + urdfdom::urdf_parser + urdfdom_headers::urdfdom_headers + rclcpp::rclcpp + fmt::fmt) set_target_properties(moveit_test_utils PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") diff --git a/moveit_kinematics/CMakeLists.txt b/moveit_kinematics/CMakeLists.txt index a453674aba..3dd5b2b379 100644 --- a/moveit_kinematics/CMakeLists.txt +++ b/moveit_kinematics/CMakeLists.txt @@ -64,8 +64,13 @@ add_subdirectory(kdl_kinematics_plugin) add_subdirectory(srv_kinematics_plugin) add_subdirectory(test) +# Create an umbrella INTERFACE target so downstream packages can use +# moveit_kinematics::moveit_kinematics to link all libraries at once. +add_library(moveit_kinematics INTERFACE) +target_link_libraries(moveit_kinematics INTERFACE ${THIS_PACKAGE_LIBRARIES}) + install( - TARGETS ${THIS_PACKAGE_LIBRARIES} + TARGETS moveit_kinematics ${THIS_PACKAGE_LIBRARIES} EXPORT ${PROJECT_NAME}Targets LIBRARY DESTINATION lib ARCHIVE DESTINATION lib diff --git a/moveit_kinematics/cached_ik_kinematics_plugin/CMakeLists.txt b/moveit_kinematics/cached_ik_kinematics_plugin/CMakeLists.txt index 5ce836e33a..1d4ae9c5ee 100644 --- a/moveit_kinematics/cached_ik_kinematics_plugin/CMakeLists.txt +++ b/moveit_kinematics/cached_ik_kinematics_plugin/CMakeLists.txt @@ -5,9 +5,6 @@ find_package(ur_kinematics QUIET) add_library(moveit_cached_ik_kinematics_base SHARED src/ik_cache.cpp) set_target_properties(moveit_cached_ik_kinematics_base PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies(moveit_cached_ik_kinematics_base PUBLIC rclcpp - moveit_core moveit_msgs) - if(trac_ik_kinematics_plugin_FOUND) include_directories(${trac_ik_kinematics_plugin_INCLUDE_DIRS}) endif() @@ -20,17 +17,17 @@ generate_parameter_library( ) target_link_libraries( - moveit_cached_ik_kinematics_base PUBLIC cached_ik_kinematics_parameters - kdl_kinematics_parameters) + moveit_cached_ik_kinematics_base + PUBLIC cached_ik_kinematics_parameters kdl_kinematics_parameters + rclcpp::rclcpp moveit_core::moveit_core ${moveit_msgs_TARGETS}) add_library(moveit_cached_ik_kinematics_plugin SHARED src/cached_ik_kinematics_plugin.cpp) set_target_properties(moveit_cached_ik_kinematics_plugin PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies(moveit_cached_ik_kinematics_plugin PUBLIC rclcpp - moveit_core moveit_msgs rsl) target_link_libraries( moveit_cached_ik_kinematics_plugin + PUBLIC rclcpp::rclcpp moveit_core::moveit_core ${moveit_msgs_TARGETS} rsl::rsl PRIVATE cached_ik_kinematics_parameters moveit_kdl_kinematics_plugin moveit_srv_kinematics_plugin moveit_cached_ik_kinematics_base) if(trac_ik_kinematics_plugin_FOUND) diff --git a/moveit_kinematics/ikfast_kinematics_plugin/templates/CMakeLists.txt b/moveit_kinematics/ikfast_kinematics_plugin/templates/CMakeLists.txt index 20b14c15c7..6e60b49542 100644 --- a/moveit_kinematics/ikfast_kinematics_plugin/templates/CMakeLists.txt +++ b/moveit_kinematics/ikfast_kinematics_plugin/templates/CMakeLists.txt @@ -26,20 +26,20 @@ generate_parameter_library( set(IKFAST_LIBRARY_NAME _LIBRARY_NAME_) add_library(${IKFAST_LIBRARY_NAME} SHARED src/_ROBOT_NAME___GROUP_NAME__ikfast_moveit_plugin.cpp) -ament_target_dependencies( - ${IKFAST_LIBRARY_NAME} - rclcpp - moveit_core - pluginlib - tf2_kdl - orocos_kdl - tf2_eigen - LAPACK) # suppress warnings about unused variables in OpenRave's solver code target_compile_options(${IKFAST_LIBRARY_NAME} PRIVATE -Wno-unused-variable -Wno-unused-parameter) -target_link_libraries(${IKFAST_LIBRARY_NAME} ikfast_kinematics_parameters) +target_link_libraries( + ${IKFAST_LIBRARY_NAME} + ikfast_kinematics_parameters + rclcpp::rclcpp + moveit_core::moveit_core + pluginlib::pluginlib + tf2_kdl::tf2_kdl + ${orocos_kdl_LIBRARIES} + tf2_eigen::tf2_eigen + ${LAPACK_LIBRARIES}) install( TARGETS ${IKFAST_LIBRARY_NAME} ikfast_kinematics_parameters diff --git a/moveit_kinematics/kdl_kinematics_plugin/CMakeLists.txt b/moveit_kinematics/kdl_kinematics_plugin/CMakeLists.txt index edf5b93990..e78d244d22 100644 --- a/moveit_kinematics/kdl_kinematics_plugin/CMakeLists.txt +++ b/moveit_kinematics/kdl_kinematics_plugin/CMakeLists.txt @@ -6,19 +6,20 @@ generate_parameter_library( add_library(moveit_kdl_kinematics_plugin SHARED src/kdl_kinematics_plugin.cpp src/chainiksolver_vel_mimic_svd.cpp) -ament_target_dependencies( +target_link_libraries( moveit_kdl_kinematics_plugin - rclcpp - random_numbers - pluginlib - moveit_core - moveit_msgs - orocos_kdl - kdl_parser - tf2_kdl - EIGEN3) - -target_link_libraries(moveit_kdl_kinematics_plugin kdl_kinematics_parameters) + kdl_kinematics_parameters + rclcpp::rclcpp + ${random_numbers_LIBRARIES} + pluginlib::pluginlib + moveit_core::moveit_core + ${moveit_msgs_TARGETS} + ${orocos_kdl_LIBRARIES} + kdl_parser::kdl_parser + tf2_kdl::tf2_kdl + Eigen3::Eigen) +target_include_directories(moveit_kdl_kinematics_plugin + PUBLIC ${random_numbers_INCLUDE_DIRS}) # prevent pluginlib from using boost target_compile_definitions(moveit_kdl_kinematics_plugin diff --git a/moveit_kinematics/srv_kinematics_plugin/CMakeLists.txt b/moveit_kinematics/srv_kinematics_plugin/CMakeLists.txt index 6614010e33..525f76e28f 100644 --- a/moveit_kinematics/srv_kinematics_plugin/CMakeLists.txt +++ b/moveit_kinematics/srv_kinematics_plugin/CMakeLists.txt @@ -7,9 +7,8 @@ add_library(moveit_srv_kinematics_plugin SHARED src/srv_kinematics_plugin.cpp) set_target_properties(moveit_srv_kinematics_plugin PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies(moveit_srv_kinematics_plugin rclcpp moveit_core - moveit_msgs) - -target_link_libraries(moveit_srv_kinematics_plugin srv_kinematics_parameters) +target_link_libraries( + moveit_srv_kinematics_plugin srv_kinematics_parameters rclcpp::rclcpp + moveit_core::moveit_core ${moveit_msgs_TARGETS}) install(DIRECTORY include/ DESTINATION include/moveit_kinematics) diff --git a/moveit_kinematics/test/CMakeLists.txt b/moveit_kinematics/test/CMakeLists.txt index 2da6c7aa69..61728310e7 100644 --- a/moveit_kinematics/test/CMakeLists.txt +++ b/moveit_kinematics/test/CMakeLists.txt @@ -8,9 +8,9 @@ if(BUILD_TESTING) find_package(moveit_ros_planning REQUIRED) ament_add_gtest_executable(test_kinematics_plugin test_kinematics_plugin.cpp) - ament_target_dependencies(test_kinematics_plugin moveit_ros_planning - pluginlib) - target_link_libraries(test_kinematics_plugin moveit_kdl_kinematics_plugin) + target_link_libraries( + test_kinematics_plugin moveit_kdl_kinematics_plugin + moveit_ros_planning::moveit_ros_planning pluginlib::pluginlib) if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") target_compile_options(test_kinematics_plugin @@ -44,8 +44,10 @@ if(BUILD_TESTING) # Benchmarking program for cached_ik_kinematics add_executable(benchmark_ik benchmark_ik.cpp) - ament_target_dependencies(benchmark_ik rclcpp moveit_core moveit_ros_planning - Boost) + target_link_libraries( + benchmark_ik rclcpp::rclcpp moveit_core::moveit_core + moveit_ros_planning::moveit_ros_planning Boost::headers + Boost::program_options) install(DIRECTORY config DESTINATION share/${PROJECT_NAME}) install(DIRECTORY launch DESTINATION share/${PROJECT_NAME}) diff --git a/moveit_planners/chomp/chomp_interface/CMakeLists.txt b/moveit_planners/chomp/chomp_interface/CMakeLists.txt index 3a2c114617..d7849bdfac 100644 --- a/moveit_planners/chomp/chomp_interface/CMakeLists.txt +++ b/moveit_planners/chomp/chomp_interface/CMakeLists.txt @@ -22,13 +22,20 @@ add_library(moveit_chomp_interface SHARED src/chomp_interface.cpp src/chomp_planning_context.cpp) set_target_properties(moveit_chomp_interface PROPERTIES VERSION "${moveit_planners_chomp_VERSION}") -ament_target_dependencies(moveit_chomp_interface - ${THIS_PACKAGE_INCLUDE_DEPENDS}) +target_link_libraries( + moveit_chomp_interface moveit_core::moveit_core + chomp_motion_planner::chomp_motion_planner pluginlib::pluginlib + rclcpp::rclcpp rsl::rsl) add_library(moveit_chomp_planner_plugin SHARED src/chomp_plugin.cpp) -ament_target_dependencies(moveit_chomp_planner_plugin - ${THIS_PACKAGE_INCLUDE_DEPENDS}) -target_link_libraries(moveit_chomp_planner_plugin moveit_chomp_interface) +target_link_libraries( + moveit_chomp_planner_plugin + moveit_chomp_interface + moveit_core::moveit_core + chomp_motion_planner::chomp_motion_planner + pluginlib::pluginlib + rclcpp::rclcpp + rsl::rsl) install( TARGETS moveit_chomp_interface moveit_chomp_planner_plugin diff --git a/moveit_planners/chomp/chomp_motion_planner/CMakeLists.txt b/moveit_planners/chomp/chomp_motion_planner/CMakeLists.txt index b6407f0e3f..b4aaadab7d 100644 --- a/moveit_planners/chomp/chomp_motion_planner/CMakeLists.txt +++ b/moveit_planners/chomp/chomp_motion_planner/CMakeLists.txt @@ -11,6 +11,7 @@ find_package(moveit_core REQUIRED) find_package(rclcpp REQUIRED) find_package(rsl REQUIRED) find_package(trajectory_msgs REQUIRED) +find_package(visualization_msgs REQUIRED) set(THIS_PACKAGE_INCLUDE_DEPENDS moveit_core rclcpp rsl trajectory_msgs visualization_msgs) @@ -23,7 +24,9 @@ add_library( src/chomp_optimizer.cpp src/chomp_planner.cpp) set_target_properties(chomp_motion_planner PROPERTIES VERSION "${chomp_motion_planner_VERSION}") -ament_target_dependencies(chomp_motion_planner ${THIS_PACKAGE_INCLUDE_DEPENDS}) +target_link_libraries( + chomp_motion_planner moveit_core::moveit_core rclcpp::rclcpp rsl::rsl + ${trajectory_msgs_TARGETS} ${visualization_msgs_TARGETS}) install( TARGETS chomp_motion_planner diff --git a/moveit_planners/ompl/CMakeLists.txt b/moveit_planners/ompl/CMakeLists.txt index 6462894745..3c56590939 100644 --- a/moveit_planners/ompl/CMakeLists.txt +++ b/moveit_planners/ompl/CMakeLists.txt @@ -31,8 +31,14 @@ include_directories(SYSTEM ${Boost_INCLUDE_DIRS}) add_subdirectory(ompl_interface) +# Create an umbrella INTERFACE target so downstream packages can use +# moveit_planners_ompl::moveit_planners_ompl to link all libraries at once. +add_library(moveit_planners_ompl INTERFACE) +target_link_libraries(moveit_planners_ompl INTERFACE moveit_ompl_interface + moveit_ompl_planner_plugin) + install( - TARGETS moveit_ompl_interface moveit_ompl_planner_plugin + TARGETS moveit_planners_ompl moveit_ompl_interface moveit_ompl_planner_plugin EXPORT moveit_planners_omplTargets LIBRARY DESTINATION lib ARCHIVE DESTINATION lib diff --git a/moveit_planners/ompl/ompl_interface/CMakeLists.txt b/moveit_planners/ompl/ompl_interface/CMakeLists.txt index e22c868ae4..fc89c4ab95 100644 --- a/moveit_planners/ompl/ompl_interface/CMakeLists.txt +++ b/moveit_planners/ompl/ompl_interface/CMakeLists.txt @@ -24,23 +24,23 @@ set_target_properties(moveit_ompl_interface find_package(OpenMP REQUIRED) -ament_target_dependencies( - moveit_ompl_interface - PUBLIC - moveit_core - moveit_msgs - moveit_ros_planning - rclcpp - pluginlib - tf2_eigen - tf2_ros - Boost) set_target_properties( moveit_ompl_interface PROPERTIES COMPILE_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") set_target_properties(moveit_ompl_interface PROPERTIES LINK_FLAGS "${OpenMP_CXX_FLAGS}") -target_link_libraries(moveit_ompl_interface PUBLIC ompl::ompl) +target_link_libraries( + moveit_ompl_interface + PUBLIC ompl::ompl + moveit_core::moveit_core + ${moveit_msgs_TARGETS} + moveit_ros_planning::moveit_ros_planning + rclcpp::rclcpp + pluginlib::pluginlib + tf2_eigen::tf2_eigen + tf2_ros::tf2_ros + Boost::headers + Boost::serialization) add_executable(moveit_generate_state_database scripts/generate_state_database.cpp) target_link_libraries(moveit_generate_state_database moveit_ompl_interface) @@ -52,16 +52,16 @@ set_target_properties(moveit_generate_state_database add_library(moveit_ompl_planner_plugin SHARED src/ompl_planner_manager.cpp) set_target_properties(moveit_ompl_planner_plugin PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies( +target_link_libraries( moveit_ompl_planner_plugin - moveit_core - moveit_ros_planning - rclcpp - pluginlib - tf2_ros - Boost) -target_link_libraries(moveit_ompl_planner_plugin moveit_ompl_interface - ompl::ompl) + moveit_ompl_interface + ompl::ompl + moveit_core::moveit_core + moveit_ros_planning::moveit_ros_planning + rclcpp::rclcpp + pluginlib::pluginlib + tf2_ros::tf2_ros + Boost::headers) install(TARGETS moveit_generate_state_database RUNTIME DESTINATION lib/${PROJECT_NAME}) @@ -72,25 +72,24 @@ if(BUILD_TESTING) find_package(Eigen3 REQUIRED) ament_add_gtest(test_state_space test/test_state_space.cpp) - ament_target_dependencies(test_state_space moveit_core Boost Eigen3) - target_link_libraries(test_state_space moveit_ompl_interface ompl::ompl) + target_link_libraries(test_state_space moveit_ompl_interface ompl::ompl + moveit_core::moveit_core Boost::headers Eigen3::Eigen) set_target_properties(test_state_space PROPERTIES LINK_FLAGS "${OpenMP_CXX_FLAGS}") ament_add_gtest(test_state_validity_checker test/test_state_validity_checker.cpp) - ament_target_dependencies(test_state_validity_checker moveit_core Boost - Eigen3) - target_link_libraries(test_state_validity_checker moveit_ompl_interface - ompl::ompl) + target_link_libraries( + test_state_validity_checker moveit_ompl_interface ompl::ompl + moveit_core::moveit_core Boost::headers Eigen3::Eigen) set_target_properties(test_state_validity_checker PROPERTIES LINK_FLAGS "${OpenMP_CXX_FLAGS}") ament_add_gtest(test_planning_context_manager test/test_planning_context_manager.cpp) - ament_target_dependencies(test_planning_context_manager moveit_core tf2_eigen - Boost Eigen3) - target_link_libraries(test_planning_context_manager moveit_ompl_interface) + target_link_libraries( + test_planning_context_manager moveit_ompl_interface + moveit_core::moveit_core tf2_eigen::tf2_eigen Boost::headers Eigen3::Eigen) # Disabling flaky test TODO (vatanaksoytezer): Uncomment once this is fixed # ament_add_gtest(test_ompl_constraints test/test_ompl_constraints.cpp) @@ -99,27 +98,24 @@ if(BUILD_TESTING) ament_add_gtest(test_constrained_planning_state_space test/test_constrained_planning_state_space.cpp) - ament_target_dependencies(test_constrained_planning_state_space moveit_core - Boost Eigen3) - target_link_libraries(test_constrained_planning_state_space - moveit_ompl_interface ompl::ompl) + target_link_libraries( + test_constrained_planning_state_space moveit_ompl_interface ompl::ompl + moveit_core::moveit_core Boost::headers Eigen3::Eigen) set_target_properties(test_constrained_planning_state_space PROPERTIES LINK_FLAGS "${OpenMP_CXX_FLAGS}") ament_add_gtest(test_constrained_state_validity_checker test/test_constrained_state_validity_checker.cpp) - ament_target_dependencies(test_constrained_state_validity_checker moveit_core - Boost Eigen3) - target_link_libraries(test_constrained_state_validity_checker - moveit_ompl_interface ompl::ompl) + target_link_libraries( + test_constrained_state_validity_checker moveit_ompl_interface ompl::ompl + moveit_core::moveit_core Boost::headers Eigen3::Eigen) set_target_properties(test_constrained_state_validity_checker PROPERTIES LINK_FLAGS "${OpenMP_CXX_FLAGS}") ament_add_gtest(test_threadsafe_state_storage test/test_threadsafe_state_storage.cpp) - ament_target_dependencies(test_threadsafe_state_storage moveit_core Boost - Eigen3) - target_link_libraries(test_threadsafe_state_storage moveit_ompl_interface) + target_link_libraries(test_threadsafe_state_storage moveit_ompl_interface + moveit_core::moveit_core Boost::headers Eigen3::Eigen) set_target_properties(test_threadsafe_state_storage PROPERTIES LINK_FLAGS "${OpenMP_CXX_FLAGS}") diff --git a/moveit_planners/pilz_industrial_motion_planner/CMakeLists.txt b/moveit_planners/pilz_industrial_motion_planner/CMakeLists.txt index 72a81d4094..ffa2a43cb5 100644 --- a/moveit_planners/pilz_industrial_motion_planner/CMakeLists.txt +++ b/moveit_planners/pilz_industrial_motion_planner/CMakeLists.txt @@ -67,29 +67,95 @@ add_library( joint_limits_common SHARED src/joint_limits_aggregator.cpp src/joint_limits_container.cpp src/joint_limits_validator.cpp src/limits_container.cpp) -target_link_libraries(joint_limits_common cartesian_limits_parameters) -ament_target_dependencies(joint_limits_common ${THIS_PACKAGE_INCLUDE_DEPENDS}) +target_link_libraries( + joint_limits_common + cartesian_limits_parameters + Eigen3::Eigen + ${geometry_msgs_TARGETS} + moveit_core::moveit_core + ${moveit_msgs_TARGETS} + moveit_ros_move_group::moveit_ros_move_group + moveit_ros_planning::moveit_ros_planning + pluginlib::pluginlib + rclcpp::rclcpp + tf2::tf2 + tf2_eigen::tf2_eigen + tf2_eigen_kdl::tf2_eigen_kdl + ${tf2_geometry_msgs_TARGETS} + tf2_kdl::tf2_kdl + tf2_ros::tf2_ros + ${orocos_kdl_LIBRARIES} + Boost::headers) add_library(planning_context_loader_base SHARED src/planning_context_loader.cpp) -target_link_libraries(planning_context_loader_base cartesian_limits_parameters - joint_limits_common) -ament_target_dependencies(planning_context_loader_base - ${THIS_PACKAGE_INCLUDE_DEPENDS}) +target_link_libraries( + planning_context_loader_base + cartesian_limits_parameters + joint_limits_common + Eigen3::Eigen + ${geometry_msgs_TARGETS} + moveit_core::moveit_core + ${moveit_msgs_TARGETS} + moveit_ros_move_group::moveit_ros_move_group + moveit_ros_planning::moveit_ros_planning + pluginlib::pluginlib + rclcpp::rclcpp + tf2::tf2 + tf2_eigen::tf2_eigen + tf2_eigen_kdl::tf2_eigen_kdl + ${tf2_geometry_msgs_TARGETS} + tf2_kdl::tf2_kdl + tf2_ros::tf2_ros + ${orocos_kdl_LIBRARIES} + Boost::headers) add_library( trajectory_generation_common SHARED src/trajectory_functions.cpp src/trajectory_generator.cpp src/trajectory_blender_transition_window.cpp) -target_link_libraries(trajectory_generation_common cartesian_limits_parameters - joint_limits_common) -ament_target_dependencies(trajectory_generation_common - ${THIS_PACKAGE_INCLUDE_DEPENDS}) +target_link_libraries( + trajectory_generation_common + cartesian_limits_parameters + joint_limits_common + Eigen3::Eigen + ${geometry_msgs_TARGETS} + moveit_core::moveit_core + ${moveit_msgs_TARGETS} + moveit_ros_move_group::moveit_ros_move_group + moveit_ros_planning::moveit_ros_planning + pluginlib::pluginlib + rclcpp::rclcpp + tf2::tf2 + tf2_eigen::tf2_eigen + tf2_eigen_kdl::tf2_eigen_kdl + ${tf2_geometry_msgs_TARGETS} + tf2_kdl::tf2_kdl + tf2_ros::tf2_ros + ${orocos_kdl_LIBRARIES} + Boost::headers) add_library(command_list_manager SHARED src/command_list_manager.cpp src/plan_components_builder.cpp) -target_link_libraries(command_list_manager trajectory_generation_common - joint_limits_common) -ament_target_dependencies(command_list_manager ${THIS_PACKAGE_INCLUDE_DEPENDS}) +target_link_libraries( + command_list_manager + trajectory_generation_common + joint_limits_common + Eigen3::Eigen + ${geometry_msgs_TARGETS} + moveit_core::moveit_core + ${moveit_msgs_TARGETS} + moveit_ros_move_group::moveit_ros_move_group + moveit_ros_planning::moveit_ros_planning + pluginlib::pluginlib + rclcpp::rclcpp + tf2::tf2 + tf2_eigen::tf2_eigen + tf2_eigen_kdl::tf2_eigen_kdl + ${tf2_geometry_msgs_TARGETS} + tf2_kdl::tf2_kdl + tf2_ros::tf2_ros + ${orocos_kdl_LIBRARIES} + Boost::headers) # ############################################################################## # Plugins ## @@ -97,54 +163,155 @@ ament_target_dependencies(command_list_manager ${THIS_PACKAGE_INCLUDE_DEPENDS}) add_library(pilz_industrial_motion_planner SHARED src/pilz_industrial_motion_planner.cpp) -ament_target_dependencies(pilz_industrial_motion_planner - ${THIS_PACKAGE_INCLUDE_DEPENDS}) -target_link_libraries(pilz_industrial_motion_planner - planning_context_loader_base joint_limits_common) +target_link_libraries( + pilz_industrial_motion_planner + planning_context_loader_base + joint_limits_common + Eigen3::Eigen + ${geometry_msgs_TARGETS} + moveit_core::moveit_core + ${moveit_msgs_TARGETS} + moveit_ros_move_group::moveit_ros_move_group + moveit_ros_planning::moveit_ros_planning + pluginlib::pluginlib + rclcpp::rclcpp + tf2::tf2 + tf2_eigen::tf2_eigen + tf2_eigen_kdl::tf2_eigen_kdl + ${tf2_geometry_msgs_TARGETS} + tf2_kdl::tf2_kdl + tf2_ros::tf2_ros + ${orocos_kdl_LIBRARIES} + Boost::headers) add_library( planning_context_loader_ptp SHARED src/planning_context_loader_ptp.cpp src/trajectory_generator_ptp.cpp src/velocity_profile_atrap.cpp) -ament_target_dependencies(planning_context_loader_ptp - ${THIS_PACKAGE_INCLUDE_DEPENDS}) -target_link_libraries(planning_context_loader_ptp planning_context_loader_base - joint_limits_common trajectory_generation_common) +target_link_libraries( + planning_context_loader_ptp + planning_context_loader_base + joint_limits_common + trajectory_generation_common + Eigen3::Eigen + ${geometry_msgs_TARGETS} + moveit_core::moveit_core + ${moveit_msgs_TARGETS} + moveit_ros_move_group::moveit_ros_move_group + moveit_ros_planning::moveit_ros_planning + pluginlib::pluginlib + rclcpp::rclcpp + tf2::tf2 + tf2_eigen::tf2_eigen + tf2_eigen_kdl::tf2_eigen_kdl + ${tf2_geometry_msgs_TARGETS} + tf2_kdl::tf2_kdl + tf2_ros::tf2_ros + ${orocos_kdl_LIBRARIES} + Boost::headers) add_library( planning_context_loader_lin SHARED src/planning_context_loader_lin.cpp src/trajectory_generator_lin.cpp src/velocity_profile_atrap.cpp) -ament_target_dependencies(planning_context_loader_lin - ${THIS_PACKAGE_INCLUDE_DEPENDS}) -target_link_libraries(planning_context_loader_lin planning_context_loader_base - joint_limits_common trajectory_generation_common) +target_link_libraries( + planning_context_loader_lin + planning_context_loader_base + joint_limits_common + trajectory_generation_common + Eigen3::Eigen + ${geometry_msgs_TARGETS} + moveit_core::moveit_core + ${moveit_msgs_TARGETS} + moveit_ros_move_group::moveit_ros_move_group + moveit_ros_planning::moveit_ros_planning + pluginlib::pluginlib + rclcpp::rclcpp + tf2::tf2 + tf2_eigen::tf2_eigen + tf2_eigen_kdl::tf2_eigen_kdl + ${tf2_geometry_msgs_TARGETS} + tf2_kdl::tf2_kdl + tf2_ros::tf2_ros + ${orocos_kdl_LIBRARIES} + Boost::headers) add_library( planning_context_loader_circ SHARED src/planning_context_loader_circ.cpp src/trajectory_generator_circ.cpp src/path_circle_generator.cpp) -ament_target_dependencies(planning_context_loader_circ - ${THIS_PACKAGE_INCLUDE_DEPENDS}) -target_link_libraries(planning_context_loader_circ planning_context_loader_base - joint_limits_common trajectory_generation_common) +target_link_libraries( + planning_context_loader_circ + planning_context_loader_base + joint_limits_common + trajectory_generation_common + Eigen3::Eigen + ${geometry_msgs_TARGETS} + moveit_core::moveit_core + ${moveit_msgs_TARGETS} + moveit_ros_move_group::moveit_ros_move_group + moveit_ros_planning::moveit_ros_planning + pluginlib::pluginlib + rclcpp::rclcpp + tf2::tf2 + tf2_eigen::tf2_eigen + tf2_eigen_kdl::tf2_eigen_kdl + ${tf2_geometry_msgs_TARGETS} + tf2_kdl::tf2_kdl + tf2_ros::tf2_ros + ${orocos_kdl_LIBRARIES} + Boost::headers) add_library( planning_context_loader_polyline SHARED src/planning_context_loader_polyline.cpp src/trajectory_generator_polyline.cpp src/velocity_profile_atrap.cpp src/path_polyline_generator.cpp) -ament_target_dependencies(planning_context_loader_polyline - ${THIS_PACKAGE_INCLUDE_DEPENDS}) target_link_libraries( - planning_context_loader_polyline planning_context_loader_base - joint_limits_common trajectory_generation_common) + planning_context_loader_polyline + planning_context_loader_base + joint_limits_common + trajectory_generation_common + Eigen3::Eigen + ${geometry_msgs_TARGETS} + moveit_core::moveit_core + ${moveit_msgs_TARGETS} + moveit_ros_move_group::moveit_ros_move_group + moveit_ros_planning::moveit_ros_planning + pluginlib::pluginlib + rclcpp::rclcpp + tf2::tf2 + tf2_eigen::tf2_eigen + tf2_eigen_kdl::tf2_eigen_kdl + ${tf2_geometry_msgs_TARGETS} + tf2_kdl::tf2_kdl + tf2_ros::tf2_ros + ${orocos_kdl_LIBRARIES} + Boost::headers) add_library(sequence_capability SHARED src/move_group_sequence_action.cpp src/move_group_sequence_service.cpp) -ament_target_dependencies(sequence_capability ${THIS_PACKAGE_INCLUDE_DEPENDS}) -target_link_libraries(sequence_capability joint_limits_common - command_list_manager trajectory_generation_common) +target_link_libraries( + sequence_capability + joint_limits_common + command_list_manager + trajectory_generation_common + Eigen3::Eigen + ${geometry_msgs_TARGETS} + moveit_core::moveit_core + ${moveit_msgs_TARGETS} + moveit_ros_move_group::moveit_ros_move_group + moveit_ros_planning::moveit_ros_planning + pluginlib::pluginlib + rclcpp::rclcpp + tf2::tf2 + tf2_eigen::tf2_eigen + tf2_eigen_kdl::tf2_eigen_kdl + ${tf2_geometry_msgs_TARGETS} + tf2_kdl::tf2_kdl + tf2_ros::tf2_ros + ${orocos_kdl_LIBRARIES} + Boost::headers) # ############################################################################## # Install ## diff --git a/moveit_planners/pilz_industrial_motion_planner/test/CMakeLists.txt b/moveit_planners/pilz_industrial_motion_planner/test/CMakeLists.txt index df01a02d4f..871911c406 100644 --- a/moveit_planners/pilz_industrial_motion_planner/test/CMakeLists.txt +++ b/moveit_planners/pilz_industrial_motion_planner/test/CMakeLists.txt @@ -12,10 +12,26 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}) # pilz_industrial_motion_testhelpers add_library(${PROJECT_NAME}_test_utils test_utils.cpp) -ament_target_dependencies(${PROJECT_NAME}_test_utils - ${THIS_PACKAGE_INCLUDE_DEPENDS}) -target_link_libraries(${PROJECT_NAME}_test_utils joint_limits_common - trajectory_generation_common) +target_link_libraries( + ${PROJECT_NAME}_test_utils + joint_limits_common + trajectory_generation_common + Eigen3::Eigen + ${geometry_msgs_TARGETS} + moveit_core::moveit_core + ${moveit_msgs_TARGETS} + moveit_ros_move_group::moveit_ros_move_group + moveit_ros_planning::moveit_ros_planning + pluginlib::pluginlib + rclcpp::rclcpp + tf2::tf2 + tf2_eigen::tf2_eigen + tf2_eigen_kdl::tf2_eigen_kdl + ${tf2_geometry_msgs_TARGETS} + tf2_kdl::tf2_kdl + tf2_ros::tf2_ros + ${orocos_kdl_LIBRARIES} + Boost::headers) # Unit tests add_subdirectory(unit_tests) diff --git a/moveit_planners/pilz_industrial_motion_planner/test/unit_tests/CMakeLists.txt b/moveit_planners/pilz_industrial_motion_planner/test/unit_tests/CMakeLists.txt index 2c46012d19..0275352d20 100644 --- a/moveit_planners/pilz_industrial_motion_planner/test/unit_tests/CMakeLists.txt +++ b/moveit_planners/pilz_industrial_motion_planner/test/unit_tests/CMakeLists.txt @@ -38,9 +38,9 @@ target_link_libraries(unittest_trajectory_generator ${PROJECT_NAME}) # Trajectory Functions Unit Test ament_add_gtest_executable(unittest_trajectory_functions src/unittest_trajectory_functions.cpp) -ament_target_dependencies(unittest_trajectory_functions Boost) -target_link_libraries(unittest_trajectory_functions ${PROJECT_NAME}_test_utils - trajectory_generation_common joint_limits_common) +target_link_libraries( + unittest_trajectory_functions ${PROJECT_NAME}_test_utils + trajectory_generation_common joint_limits_common Boost::headers) add_ros_test(launch/unittest_trajectory_functions.test.py ARGS "test_binary_dir:=${CMAKE_CURRENT_BINARY_DIR}") @@ -49,11 +49,13 @@ ament_add_gtest_executable( unittest_trajectory_blender_transition_window src/unittest_trajectory_blender_transition_window.cpp ${CMAKE_SOURCE_DIR}/src/trajectory_blender_transition_window.cpp) -ament_target_dependencies(unittest_trajectory_blender_transition_window - pilz_industrial_motion_planner_testutils) target_link_libraries( - unittest_trajectory_blender_transition_window ${PROJECT_NAME}_test_utils - trajectory_generation_common planning_context_loader_lin) + unittest_trajectory_blender_transition_window + ${PROJECT_NAME}_test_utils + trajectory_generation_common + planning_context_loader_lin + pilz_industrial_motion_planner_testutils::pilz_industrial_motion_planner_testutils +) add_ros_test(launch/unittest_trajectory_blender_transition_window.test.py ARGS "test_binary_dir:=${CMAKE_CURRENT_BINARY_DIR}") @@ -70,20 +72,24 @@ add_ros_test(launch/unittest_trajectory_generator_common.test.py ARGS # trajectory generator circ Unit Test ament_add_gtest_executable(unittest_trajectory_generator_circ src/unittest_trajectory_generator_circ.cpp) -ament_target_dependencies(unittest_trajectory_generator_circ - pilz_industrial_motion_planner_testutils) -target_link_libraries(unittest_trajectory_generator_circ - ${PROJECT_NAME}_test_utils planning_context_loader_circ) +target_link_libraries( + unittest_trajectory_generator_circ + ${PROJECT_NAME}_test_utils + planning_context_loader_circ + pilz_industrial_motion_planner_testutils::pilz_industrial_motion_planner_testutils +) add_ros_test(launch/unittest_trajectory_generator_circ.test.py ARGS "test_binary_dir:=${CMAKE_CURRENT_BINARY_DIR}") # trajectory generator lin Unit Test ament_add_gtest_executable(unittest_trajectory_generator_lin src/unittest_trajectory_generator_lin.cpp) -ament_target_dependencies(unittest_trajectory_generator_lin - pilz_industrial_motion_planner_testutils) -target_link_libraries(unittest_trajectory_generator_lin - ${PROJECT_NAME}_test_utils planning_context_loader_lin) +target_link_libraries( + unittest_trajectory_generator_lin + ${PROJECT_NAME}_test_utils + planning_context_loader_lin + pilz_industrial_motion_planner_testutils::pilz_industrial_motion_planner_testutils +) add_ros_test(launch/unittest_trajectory_generator_lin.test.py ARGS "test_binary_dir:=${CMAKE_CURRENT_BINARY_DIR}") diff --git a/moveit_planners/pilz_industrial_motion_planner_testutils/CMakeLists.txt b/moveit_planners/pilz_industrial_motion_planner_testutils/CMakeLists.txt index 1026df76f3..b4e17da23d 100644 --- a/moveit_planners/pilz_industrial_motion_planner_testutils/CMakeLists.txt +++ b/moveit_planners/pilz_industrial_motion_planner_testutils/CMakeLists.txt @@ -29,15 +29,14 @@ add_library( src/robotconfiguration.cpp src/sequence.cpp src/xml_testdata_loader.cpp) # Specify libraries to link a library or executable target against -ament_target_dependencies( +target_link_libraries( pilz_industrial_motion_planner_testutils - Boost - Eigen3 - eigen3_cmake_module - rclcpp - moveit_core - moveit_msgs - tf2_eigen) + Boost::headers + Eigen3::Eigen + rclcpp::rclcpp + moveit_core::moveit_core + ${moveit_msgs_TARGETS} + tf2_eigen::tf2_eigen) # ############################################################################## # Install ## diff --git a/moveit_planners/stomp/CMakeLists.txt b/moveit_planners/stomp/CMakeLists.txt index 955f227d87..d5d828caf8 100644 --- a/moveit_planners/stomp/CMakeLists.txt +++ b/moveit_planners/stomp/CMakeLists.txt @@ -22,10 +22,15 @@ include_directories(include) # Planner Plugin add_library(stomp_moveit_plugin SHARED src/stomp_moveit_planner_plugin.cpp src/stomp_moveit_planning_context.cpp) -ament_target_dependencies(stomp_moveit_plugin moveit_core std_msgs tf2_eigen - visualization_msgs) -target_link_libraries(stomp_moveit_plugin stomp::stomp stomp_moveit_parameters - rsl::rsl) +target_link_libraries( + stomp_moveit_plugin + stomp::stomp + stomp_moveit_parameters + rsl::rsl + moveit_core::moveit_core + ${std_msgs_TARGETS} + tf2_eigen::tf2_eigen + ${visualization_msgs_TARGETS}) pluginlib_export_plugin_description_file(moveit_core stomp_moveit_plugin_description.xml) diff --git a/moveit_planners/stomp/test/CMakeLists.txt b/moveit_planners/stomp/test/CMakeLists.txt index 3f83ea5a76..95b69c2650 100644 --- a/moveit_planners/stomp/test/CMakeLists.txt +++ b/moveit_planners/stomp/test/CMakeLists.txt @@ -1,8 +1,8 @@ find_package(ament_cmake_gtest REQUIRED) ament_add_gtest(test_noise_generator test_noise_generator.cpp) -ament_target_dependencies(test_noise_generator tf2_eigen) -target_link_libraries(test_noise_generator stomp::stomp rsl::rsl) +target_link_libraries(test_noise_generator stomp::stomp rsl::rsl + tf2_eigen::tf2_eigen) ament_add_gtest(test_cost_functions test_cost_functions.cpp) -ament_target_dependencies(test_cost_functions moveit_core) -target_link_libraries(test_cost_functions stomp::stomp rsl::rsl) +target_link_libraries(test_cost_functions stomp::stomp rsl::rsl + moveit_core::moveit_core) diff --git a/moveit_planners/test_configs/prbt_ikfast_manipulator_plugin/CMakeLists.txt b/moveit_planners/test_configs/prbt_ikfast_manipulator_plugin/CMakeLists.txt index cc451f3d65..48665164c7 100644 --- a/moveit_planners/test_configs/prbt_ikfast_manipulator_plugin/CMakeLists.txt +++ b/moveit_planners/test_configs/prbt_ikfast_manipulator_plugin/CMakeLists.txt @@ -43,18 +43,16 @@ if(NOT WIN32) target_compile_options(prbt_manipulator_moveit_ikfast_plugin PRIVATE -Wno-unused-variable) endif() -ament_target_dependencies( +target_link_libraries( prbt_manipulator_moveit_ikfast_plugin - moveit_core - pluginlib - rclcpp - tf2_kdl - tf2_eigen - tf2_eigen_kdl - tf2_geometry_msgs) - -target_link_libraries(prbt_manipulator_moveit_ikfast_plugin - prbt_ikfast_kinematics_parameters) + prbt_ikfast_kinematics_parameters + moveit_core::moveit_core + pluginlib::pluginlib + rclcpp::rclcpp + tf2_kdl::tf2_kdl + tf2_eigen::tf2_eigen + tf2_eigen_kdl::tf2_eigen_kdl + ${tf2_geometry_msgs_TARGETS}) pluginlib_export_plugin_description_file( moveit_core prbt_manipulator_moveit_ikfast_plugin_description.xml) diff --git a/moveit_plugins/moveit_ros_control_interface/CMakeLists.txt b/moveit_plugins/moveit_ros_control_interface/CMakeLists.txt index 433f968200..a5f8c7ba29 100644 --- a/moveit_plugins/moveit_ros_control_interface/CMakeLists.txt +++ b/moveit_plugins/moveit_ros_control_interface/CMakeLists.txt @@ -18,14 +18,23 @@ moveit_package() # Finds Boost Components include(ConfigExtras.cmake) +set(CONTROL_INTERFACE_LINK_DEPS + rclcpp_action::rclcpp_action + ${controller_manager_msgs_TARGETS} + moveit_core::moveit_core + moveit_simple_controller_manager::moveit_simple_controller_manager + pluginlib::pluginlib + ${trajectory_msgs_TARGETS} + Boost::headers) + add_library(moveit_ros_control_interface_plugin SHARED src/controller_manager_plugin.cpp) set_target_properties( moveit_ros_control_interface_plugin PROPERTIES VERSION "${moveit_ros_control_interface_VERSION}") target_include_directories(moveit_ros_control_interface_plugin PRIVATE include) -ament_target_dependencies(moveit_ros_control_interface_plugin - ${THIS_PACKAGE_INCLUDE_DEPENDS} Boost) +target_link_libraries(moveit_ros_control_interface_plugin + ${CONTROL_INTERFACE_LINK_DEPS}) add_library(moveit_ros_control_interface_trajectory_plugin SHARED src/joint_trajectory_controller_plugin.cpp) @@ -34,8 +43,8 @@ set_target_properties( PROPERTIES VERSION "${moveit_ros_control_interface_VERSION}") target_include_directories(moveit_ros_control_interface_trajectory_plugin PRIVATE include) -ament_target_dependencies(moveit_ros_control_interface_trajectory_plugin - ${THIS_PACKAGE_INCLUDE_DEPENDS} Boost) +target_link_libraries(moveit_ros_control_interface_trajectory_plugin + ${CONTROL_INTERFACE_LINK_DEPS}) add_library(moveit_ros_control_interface_gripper_plugin SHARED src/gripper_command_controller_plugin.cpp) @@ -44,8 +53,8 @@ set_target_properties( PROPERTIES VERSION "${moveit_ros_control_interface_VERSION}") target_include_directories(moveit_ros_control_interface_gripper_plugin PRIVATE include) -ament_target_dependencies(moveit_ros_control_interface_gripper_plugin - ${THIS_PACKAGE_INCLUDE_DEPENDS} Boost) +target_link_libraries(moveit_ros_control_interface_gripper_plugin + ${CONTROL_INTERFACE_LINK_DEPS}) add_library(moveit_ros_control_interface_parallel_gripper_plugin SHARED src/parallel_gripper_command_controller_plugin.cpp) @@ -54,8 +63,8 @@ set_target_properties( PROPERTIES VERSION "${moveit_ros_control_interface_VERSION}") target_include_directories(moveit_ros_control_interface_parallel_gripper_plugin PRIVATE include) -ament_target_dependencies(moveit_ros_control_interface_parallel_gripper_plugin - ${THIS_PACKAGE_INCLUDE_DEPENDS} Boost) +target_link_libraries(moveit_ros_control_interface_parallel_gripper_plugin + ${CONTROL_INTERFACE_LINK_DEPS}) add_library(moveit_ros_control_interface_empty_plugin SHARED src/empty_controller_plugin.cpp) @@ -64,8 +73,8 @@ set_target_properties( PROPERTIES VERSION "${moveit_ros_control_interface_VERSION}") target_include_directories(moveit_ros_control_interface_empty_plugin PRIVATE include) -ament_target_dependencies(moveit_ros_control_interface_empty_plugin - ${THIS_PACKAGE_INCLUDE_DEPENDS} Boost) +target_link_libraries(moveit_ros_control_interface_empty_plugin + ${CONTROL_INTERFACE_LINK_DEPS}) if(BUILD_TESTING) add_subdirectory(test) @@ -82,9 +91,16 @@ set(TARGET_LIBRARIES moveit_ros_control_interface_parallel_gripper_plugin moveit_ros_control_interface_empty_plugin) +# Create an umbrella INTERFACE target so downstream packages can use +# moveit_ros_control_interface::moveit_ros_control_interface to link all +# libraries at once. +add_library(moveit_ros_control_interface INTERFACE) +target_link_libraries(moveit_ros_control_interface + INTERFACE ${TARGET_LIBRARIES}) + # Mark executables and/or libraries for installation install( - TARGETS ${TARGET_LIBRARIES} + TARGETS moveit_ros_control_interface ${TARGET_LIBRARIES} EXPORT moveit_ros_control_interfaceTargets ARCHIVE DESTINATION lib LIBRARY DESTINATION lib diff --git a/moveit_plugins/moveit_simple_controller_manager/CMakeLists.txt b/moveit_plugins/moveit_simple_controller_manager/CMakeLists.txt index 9905ae3238..2de874f227 100644 --- a/moveit_plugins/moveit_simple_controller_manager/CMakeLists.txt +++ b/moveit_plugins/moveit_simple_controller_manager/CMakeLists.txt @@ -29,8 +29,14 @@ set_target_properties( moveit_simple_controller_manager PROPERTIES VERSION "${moveit_simple_controller_manager_VERSION}") -ament_target_dependencies(moveit_simple_controller_manager - ${THIS_PACKAGE_INCLUDE_DEPENDS} Boost) +target_link_libraries( + moveit_simple_controller_manager + ${control_msgs_TARGETS} + rclcpp::rclcpp + rclcpp_action::rclcpp_action + moveit_core::moveit_core + pluginlib::pluginlib + Boost::headers) install( TARGETS moveit_simple_controller_manager diff --git a/moveit_py/src/moveit/moveit_py_utils/CMakeLists.txt b/moveit_py/src/moveit/moveit_py_utils/CMakeLists.txt index 887a353101..d23cbb2f30 100644 --- a/moveit_py/src/moveit/moveit_py_utils/CMakeLists.txt +++ b/moveit_py/src/moveit/moveit_py_utils/CMakeLists.txt @@ -6,10 +6,9 @@ target_include_directories( set_target_properties(moveit_py_utils PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies(moveit_py_utils rclcpp moveit_msgs geometry_msgs - pybind11) - -target_link_libraries(moveit_py_utils Python3::Module) +target_link_libraries( + moveit_py_utils Python3::Module rclcpp::rclcpp ${moveit_msgs_TARGETS} + ${geometry_msgs_TARGETS} pybind11::pybind11) install( TARGETS moveit_py_utils diff --git a/moveit_ros/benchmarks/CMakeLists.txt b/moveit_ros/benchmarks/CMakeLists.txt index 58538a70b9..f9a7952f21 100644 --- a/moveit_ros/benchmarks/CMakeLists.txt +++ b/moveit_ros/benchmarks/CMakeLists.txt @@ -34,11 +34,20 @@ set_target_properties(moveit_ros_benchmarks if(WIN32) set(EXTRA_LIB ws2_32.lib) endif() -ament_target_dependencies(moveit_ros_benchmarks ${THIS_PACKAGE_INCLUDE_DEPENDS}) -target_link_libraries(moveit_ros_benchmarks ${EXTRA_LIB}) +target_link_libraries( + moveit_ros_benchmarks + rclcpp::rclcpp + Boost::headers + Boost::filesystem + Boost::regex + tf2_eigen::tf2_eigen + moveit_core::moveit_core + moveit_ros_planning::moveit_ros_planning + moveit_ros_warehouse::moveit_ros_warehouse + pluginlib::pluginlib + ${EXTRA_LIB}) add_executable(moveit_run_benchmark src/RunBenchmark.cpp) -ament_target_dependencies(moveit_run_benchmark ${THIS_PACKAGE_INCLUDE_DEPENDS}) target_link_libraries(moveit_run_benchmark moveit_ros_benchmarks) install( diff --git a/moveit_ros/hybrid_planning/CMakeLists.txt b/moveit_ros/hybrid_planning/CMakeLists.txt index 0f90c56033..0b6bc32c30 100644 --- a/moveit_ros/hybrid_planning/CMakeLists.txt +++ b/moveit_ros/hybrid_planning/CMakeLists.txt @@ -75,8 +75,13 @@ rclcpp_components_register_nodes( moveit_local_planner_component "moveit::hybrid_planning::LocalPlannerComponent") +# Create an umbrella INTERFACE target so downstream packages can use +# moveit_hybrid_planning::moveit_hybrid_planning to link all libraries at once. +add_library(moveit_hybrid_planning INTERFACE) +target_link_libraries(moveit_hybrid_planning INTERFACE ${LIBRARIES}) + install( - TARGETS ${LIBRARIES} + TARGETS moveit_hybrid_planning ${LIBRARIES} EXPORT moveit_hybrid_planningTargets ARCHIVE DESTINATION lib LIBRARY DESTINATION lib diff --git a/moveit_ros/hybrid_planning/global_planner/global_planner_component/CMakeLists.txt b/moveit_ros/hybrid_planning/global_planner/global_planner_component/CMakeLists.txt index 8fea54c86a..4cc44c4b0e 100644 --- a/moveit_ros/hybrid_planning/global_planner/global_planner_component/CMakeLists.txt +++ b/moveit_ros/hybrid_planning/global_planner/global_planner_component/CMakeLists.txt @@ -3,5 +3,17 @@ add_library(moveit_global_planner_component SHARED src/global_planner_component.cpp) set_target_properties(moveit_global_planner_component PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies(moveit_global_planner_component - ${THIS_PACKAGE_INCLUDE_DEPENDS}) +target_link_libraries( + moveit_global_planner_component + moveit_core::moveit_core + ${moveit_msgs_TARGETS} + moveit_ros_planning::moveit_ros_planning + moveit_ros_planning_interface::moveit_ros_planning_interface + pluginlib::pluginlib + rclcpp::rclcpp + rclcpp_action::rclcpp_action + rclcpp_components::component + ${std_msgs_TARGETS} + ${std_srvs_TARGETS} + tf2_ros::tf2_ros + ${trajectory_msgs_TARGETS}) diff --git a/moveit_ros/hybrid_planning/global_planner/global_planner_plugins/CMakeLists.txt b/moveit_ros/hybrid_planning/global_planner/global_planner_plugins/CMakeLists.txt index 5537737681..8d2d905c2b 100644 --- a/moveit_ros/hybrid_planning/global_planner/global_planner_plugins/CMakeLists.txt +++ b/moveit_ros/hybrid_planning/global_planner/global_planner_plugins/CMakeLists.txt @@ -2,5 +2,17 @@ add_library(motion_planning_pipeline_plugin SHARED src/moveit_planning_pipeline.cpp) set_target_properties(motion_planning_pipeline_plugin PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies(motion_planning_pipeline_plugin - ${THIS_PACKAGE_INCLUDE_DEPENDS}) +target_link_libraries( + motion_planning_pipeline_plugin + moveit_core::moveit_core + ${moveit_msgs_TARGETS} + moveit_ros_planning::moveit_ros_planning + moveit_ros_planning_interface::moveit_ros_planning_interface + pluginlib::pluginlib + rclcpp::rclcpp + rclcpp_action::rclcpp_action + rclcpp_components::component + ${std_msgs_TARGETS} + ${std_srvs_TARGETS} + tf2_ros::tf2_ros + ${trajectory_msgs_TARGETS}) diff --git a/moveit_ros/hybrid_planning/hybrid_planning_manager/hybrid_planning_manager_component/CMakeLists.txt b/moveit_ros/hybrid_planning/hybrid_planning_manager/hybrid_planning_manager_component/CMakeLists.txt index 60aa2980b6..99ab113ced 100644 --- a/moveit_ros/hybrid_planning/hybrid_planning_manager/hybrid_planning_manager_component/CMakeLists.txt +++ b/moveit_ros/hybrid_planning/hybrid_planning_manager/hybrid_planning_manager_component/CMakeLists.txt @@ -4,6 +4,18 @@ add_library(moveit_hybrid_planning_manager SHARED src/hybrid_planning_manager.cpp) set_target_properties(moveit_hybrid_planning_manager PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -target_link_libraries(moveit_hybrid_planning_manager hp_manager_parameters) -ament_target_dependencies(moveit_hybrid_planning_manager - ${THIS_PACKAGE_INCLUDE_DEPENDS}) +target_link_libraries( + moveit_hybrid_planning_manager + hp_manager_parameters + moveit_core::moveit_core + ${moveit_msgs_TARGETS} + moveit_ros_planning::moveit_ros_planning + moveit_ros_planning_interface::moveit_ros_planning_interface + pluginlib::pluginlib + rclcpp::rclcpp + rclcpp_action::rclcpp_action + rclcpp_components::component + ${std_msgs_TARGETS} + ${std_srvs_TARGETS} + tf2_ros::tf2_ros + ${trajectory_msgs_TARGETS}) diff --git a/moveit_ros/hybrid_planning/hybrid_planning_manager/planner_logic_plugins/CMakeLists.txt b/moveit_ros/hybrid_planning/hybrid_planning_manager/planner_logic_plugins/CMakeLists.txt index 17cb49aa7c..cb70757663 100644 --- a/moveit_ros/hybrid_planning/hybrid_planning_manager/planner_logic_plugins/CMakeLists.txt +++ b/moveit_ros/hybrid_planning/hybrid_planning_manager/planner_logic_plugins/CMakeLists.txt @@ -1,17 +1,39 @@ add_library(single_plan_execution_plugin SHARED src/single_plan_execution.cpp) set_target_properties(single_plan_execution_plugin PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies(single_plan_execution_plugin - ${THIS_PACKAGE_INCLUDE_DEPENDS}) -target_link_libraries(single_plan_execution_plugin - moveit_hybrid_planning_manager) +target_link_libraries( + single_plan_execution_plugin + moveit_hybrid_planning_manager + moveit_core::moveit_core + ${moveit_msgs_TARGETS} + moveit_ros_planning::moveit_ros_planning + moveit_ros_planning_interface::moveit_ros_planning_interface + pluginlib::pluginlib + rclcpp::rclcpp + rclcpp_action::rclcpp_action + rclcpp_components::component + ${std_msgs_TARGETS} + ${std_srvs_TARGETS} + tf2_ros::tf2_ros + ${trajectory_msgs_TARGETS}) add_library(replan_invalidated_trajectory_plugin SHARED src/replan_invalidated_trajectory.cpp) set_target_properties(replan_invalidated_trajectory_plugin PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies(replan_invalidated_trajectory_plugin - ${THIS_PACKAGE_INCLUDE_DEPENDS}) target_link_libraries( - replan_invalidated_trajectory_plugin moveit_hybrid_planning_manager - single_plan_execution_plugin) + replan_invalidated_trajectory_plugin + moveit_hybrid_planning_manager + single_plan_execution_plugin + moveit_core::moveit_core + ${moveit_msgs_TARGETS} + moveit_ros_planning::moveit_ros_planning + moveit_ros_planning_interface::moveit_ros_planning_interface + pluginlib::pluginlib + rclcpp::rclcpp + rclcpp_action::rclcpp_action + rclcpp_components::component + ${std_msgs_TARGETS} + ${std_srvs_TARGETS} + tf2_ros::tf2_ros + ${trajectory_msgs_TARGETS}) diff --git a/moveit_ros/hybrid_planning/local_planner/local_constraint_solver_plugins/CMakeLists.txt b/moveit_ros/hybrid_planning/local_planner/local_constraint_solver_plugins/CMakeLists.txt index 4c0e0e6c89..9a5deb90d1 100644 --- a/moveit_ros/hybrid_planning/local_planner/local_constraint_solver_plugins/CMakeLists.txt +++ b/moveit_ros/hybrid_planning/local_planner/local_constraint_solver_plugins/CMakeLists.txt @@ -1,5 +1,17 @@ add_library(forward_trajectory_plugin SHARED src/forward_trajectory.cpp) set_target_properties(forward_trajectory_plugin PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies(forward_trajectory_plugin - ${THIS_PACKAGE_INCLUDE_DEPENDS}) +target_link_libraries( + forward_trajectory_plugin + moveit_core::moveit_core + ${moveit_msgs_TARGETS} + moveit_ros_planning::moveit_ros_planning + moveit_ros_planning_interface::moveit_ros_planning_interface + pluginlib::pluginlib + rclcpp::rclcpp + rclcpp_action::rclcpp_action + rclcpp_components::component + ${std_msgs_TARGETS} + ${std_srvs_TARGETS} + tf2_ros::tf2_ros + ${trajectory_msgs_TARGETS}) diff --git a/moveit_ros/hybrid_planning/local_planner/local_planner_component/CMakeLists.txt b/moveit_ros/hybrid_planning/local_planner/local_planner_component/CMakeLists.txt index a4de092130..141223d37c 100644 --- a/moveit_ros/hybrid_planning/local_planner/local_planner_component/CMakeLists.txt +++ b/moveit_ros/hybrid_planning/local_planner/local_planner_component/CMakeLists.txt @@ -5,6 +5,18 @@ add_library(moveit_local_planner_component SHARED src/local_planner_component.cpp) set_target_properties(moveit_local_planner_component PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -target_link_libraries(moveit_local_planner_component local_planner_parameters) -ament_target_dependencies(moveit_local_planner_component - ${THIS_PACKAGE_INCLUDE_DEPENDS}) +target_link_libraries( + moveit_local_planner_component + local_planner_parameters + moveit_core::moveit_core + ${moveit_msgs_TARGETS} + moveit_ros_planning::moveit_ros_planning + moveit_ros_planning_interface::moveit_ros_planning_interface + pluginlib::pluginlib + rclcpp::rclcpp + rclcpp_action::rclcpp_action + rclcpp_components::component + ${std_msgs_TARGETS} + ${std_srvs_TARGETS} + tf2_ros::tf2_ros + ${trajectory_msgs_TARGETS}) diff --git a/moveit_ros/hybrid_planning/local_planner/trajectory_operator_plugins/CMakeLists.txt b/moveit_ros/hybrid_planning/local_planner/trajectory_operator_plugins/CMakeLists.txt index b9ba389698..06eef59007 100644 --- a/moveit_ros/hybrid_planning/local_planner/trajectory_operator_plugins/CMakeLists.txt +++ b/moveit_ros/hybrid_planning/local_planner/trajectory_operator_plugins/CMakeLists.txt @@ -1,4 +1,17 @@ add_library(simple_sampler_plugin SHARED src/simple_sampler.cpp) set_target_properties(simple_sampler_plugin PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies(simple_sampler_plugin ${THIS_PACKAGE_INCLUDE_DEPENDS}) +target_link_libraries( + simple_sampler_plugin + moveit_core::moveit_core + ${moveit_msgs_TARGETS} + moveit_ros_planning::moveit_ros_planning + moveit_ros_planning_interface::moveit_ros_planning_interface + pluginlib::pluginlib + rclcpp::rclcpp + rclcpp_action::rclcpp_action + rclcpp_components::component + ${std_msgs_TARGETS} + ${std_srvs_TARGETS} + tf2_ros::tf2_ros + ${trajectory_msgs_TARGETS}) diff --git a/moveit_ros/hybrid_planning/test/CMakeLists.txt b/moveit_ros/hybrid_planning/test/CMakeLists.txt index 6d62727f0a..1d3e42fedb 100644 --- a/moveit_ros/hybrid_planning/test/CMakeLists.txt +++ b/moveit_ros/hybrid_planning/test/CMakeLists.txt @@ -1,5 +1,18 @@ add_executable(cancel_action cancel_action.cpp) -ament_target_dependencies(cancel_action PUBLIC ${THIS_PACKAGE_INCLUDE_DEPENDS}) +target_link_libraries( + cancel_action + PUBLIC moveit_core::moveit_core + ${moveit_msgs_TARGETS} + moveit_ros_planning::moveit_ros_planning + moveit_ros_planning_interface::moveit_ros_planning_interface + pluginlib::pluginlib + rclcpp::rclcpp + rclcpp_action::rclcpp_action + rclcpp_components::component + ${std_msgs_TARGETS} + ${std_srvs_TARGETS} + tf2_ros::tf2_ros + ${trajectory_msgs_TARGETS}) if(BUILD_TESTING) find_package(ament_cmake_gtest REQUIRED) diff --git a/moveit_ros/move_group/CMakeLists.txt b/moveit_ros/move_group/CMakeLists.txt index 86bca8785d..e29a8aa778 100644 --- a/moveit_ros/move_group/CMakeLists.txt +++ b/moveit_ros/move_group/CMakeLists.txt @@ -34,8 +34,19 @@ target_include_directories( $) set_target_properties(moveit_move_group_capabilities_base PROPERTIES VERSION "${moveit_ros_move_group_VERSION}") -ament_target_dependencies(moveit_move_group_capabilities_base - ${THIS_PACKAGE_INCLUDE_DEPENDS}) +target_link_libraries( + moveit_move_group_capabilities_base + fmt::fmt + moveit_core::moveit_core + moveit_ros_occupancy_map_monitor::moveit_ros_occupancy_map_monitor + moveit_ros_planning::moveit_ros_planning + pluginlib::pluginlib + rclcpp::rclcpp + rclcpp_action::rclcpp_action + ${std_srvs_TARGETS} + tf2::tf2 + ${tf2_geometry_msgs_TARGETS} + tf2_ros::tf2_ros) add_library( moveit_move_group_default_capabilities SHARED @@ -60,27 +71,66 @@ target_include_directories( $) set_target_properties(moveit_move_group_default_capabilities PROPERTIES VERSION "${moveit_ros_move_group_VERSION}") -ament_target_dependencies(moveit_move_group_default_capabilities - ${THIS_PACKAGE_INCLUDE_DEPENDS}) -target_link_libraries(moveit_move_group_default_capabilities - moveit_move_group_capabilities_base) +target_link_libraries( + moveit_move_group_default_capabilities + moveit_move_group_capabilities_base + fmt::fmt + moveit_core::moveit_core + moveit_ros_occupancy_map_monitor::moveit_ros_occupancy_map_monitor + moveit_ros_planning::moveit_ros_planning + pluginlib::pluginlib + rclcpp::rclcpp + rclcpp_action::rclcpp_action + ${std_srvs_TARGETS} + tf2::tf2 + ${tf2_geometry_msgs_TARGETS} + tf2_ros::tf2_ros) add_executable(move_group src/move_group.cpp) target_include_directories(move_group PUBLIC include) -ament_target_dependencies(move_group ${THIS_PACKAGE_INCLUDE_DEPENDS} Boost) -target_link_libraries(move_group moveit_move_group_capabilities_base) +target_link_libraries( + move_group + moveit_move_group_capabilities_base + fmt::fmt + moveit_core::moveit_core + moveit_ros_occupancy_map_monitor::moveit_ros_occupancy_map_monitor + moveit_ros_planning::moveit_ros_planning + pluginlib::pluginlib + rclcpp::rclcpp + rclcpp_action::rclcpp_action + ${std_srvs_TARGETS} + tf2::tf2 + ${tf2_geometry_msgs_TARGETS} + tf2_ros::tf2_ros + Boost::headers) add_executable(list_move_group_capabilities src/list_capabilities.cpp) -ament_target_dependencies(list_move_group_capabilities - ${THIS_PACKAGE_INCLUDE_DEPENDS}) -target_link_libraries(list_move_group_capabilities - moveit_move_group_capabilities_base fmt::fmt) +target_link_libraries( + list_move_group_capabilities + moveit_move_group_capabilities_base + fmt::fmt + moveit_core::moveit_core + moveit_ros_occupancy_map_monitor::moveit_ros_occupancy_map_monitor + moveit_ros_planning::moveit_ros_planning + pluginlib::pluginlib + rclcpp::rclcpp + rclcpp_action::rclcpp_action + ${std_srvs_TARGETS} + tf2::tf2 + ${tf2_geometry_msgs_TARGETS} + tf2_ros::tf2_ros) install(TARGETS move_group list_move_group_capabilities RUNTIME DESTINATION lib/moveit_ros_move_group) +# Create an umbrella INTERFACE target so downstream packages can use +# moveit_ros_move_group::moveit_ros_move_group to link all libraries at once. +add_library(moveit_ros_move_group INTERFACE) +target_link_libraries(moveit_ros_move_group + INTERFACE moveit_move_group_capabilities_base) + install( - TARGETS moveit_move_group_capabilities_base + TARGETS moveit_ros_move_group moveit_move_group_capabilities_base EXPORT moveit_ros_move_groupTargets LIBRARY DESTINATION lib ARCHIVE DESTINATION lib diff --git a/moveit_ros/moveit_servo/CMakeLists.txt b/moveit_ros/moveit_servo/CMakeLists.txt index 6ec080d195..3f771f3dd4 100644 --- a/moveit_ros/moveit_servo/CMakeLists.txt +++ b/moveit_ros/moveit_servo/CMakeLists.txt @@ -45,14 +45,46 @@ add_library( src/utils/common.cpp src/utils/command.cpp) set_target_properties(moveit_servo_lib_cpp PROPERTIES VERSION "${moveit_servo_VERSION}") -target_link_libraries(moveit_servo_lib_cpp moveit_servo_lib_parameters) -ament_target_dependencies(moveit_servo_lib_cpp ${THIS_PACKAGE_INCLUDE_DEPENDS}) +target_link_libraries( + moveit_servo_lib_cpp + moveit_servo_lib_parameters + ${control_msgs_TARGETS} + ${geometry_msgs_TARGETS} + moveit_core::moveit_core + ${moveit_msgs_TARGETS} + moveit_ros_planning::moveit_ros_planning + moveit_ros_planning_interface::moveit_ros_planning_interface + pluginlib::pluginlib + rclcpp::rclcpp + rclcpp_components::component + realtime_tools::realtime_tools + ${sensor_msgs_TARGETS} + ${std_msgs_TARGETS} + ${std_srvs_TARGETS} + tf2_eigen::tf2_eigen + ${trajectory_msgs_TARGETS}) add_library(moveit_servo_lib_ros SHARED src/servo_node.cpp) set_target_properties(moveit_servo_lib_ros PROPERTIES VERSION "${moveit_servo_VERSION}") -target_link_libraries(moveit_servo_lib_ros moveit_servo_lib_cpp) -ament_target_dependencies(moveit_servo_lib_ros ${THIS_PACKAGE_INCLUDE_DEPENDS}) +target_link_libraries( + moveit_servo_lib_ros + moveit_servo_lib_cpp + ${control_msgs_TARGETS} + ${geometry_msgs_TARGETS} + moveit_core::moveit_core + ${moveit_msgs_TARGETS} + moveit_ros_planning::moveit_ros_planning + moveit_ros_planning_interface::moveit_ros_planning_interface + pluginlib::pluginlib + rclcpp::rclcpp + rclcpp_components::component + realtime_tools::realtime_tools + ${sensor_msgs_TARGETS} + ${std_msgs_TARGETS} + ${std_srvs_TARGETS} + tf2_eigen::tf2_eigen + ${trajectory_msgs_TARGETS}) # ############################################################################## # Components ## @@ -67,31 +99,103 @@ rclcpp_components_register_node(moveit_servo_lib_ros PLUGIN # Executable node for the joint jog demo add_executable(demo_joint_jog demos/cpp_interface/demo_joint_jog.cpp) -target_link_libraries(demo_joint_jog moveit_servo_lib_cpp) -ament_target_dependencies(demo_joint_jog ${THIS_PACKAGE_INCLUDE_DEPENDS}) +target_link_libraries( + demo_joint_jog + moveit_servo_lib_cpp + ${control_msgs_TARGETS} + ${geometry_msgs_TARGETS} + moveit_core::moveit_core + ${moveit_msgs_TARGETS} + moveit_ros_planning::moveit_ros_planning + moveit_ros_planning_interface::moveit_ros_planning_interface + pluginlib::pluginlib + rclcpp::rclcpp + rclcpp_components::component + realtime_tools::realtime_tools + ${sensor_msgs_TARGETS} + ${std_msgs_TARGETS} + ${std_srvs_TARGETS} + tf2_eigen::tf2_eigen + ${trajectory_msgs_TARGETS}) # Executable node for the twist demo add_executable(demo_twist demos/cpp_interface/demo_twist.cpp) -target_link_libraries(demo_twist moveit_servo_lib_cpp) -ament_target_dependencies(demo_twist ${THIS_PACKAGE_INCLUDE_DEPENDS}) +target_link_libraries( + demo_twist + moveit_servo_lib_cpp + ${control_msgs_TARGETS} + ${geometry_msgs_TARGETS} + moveit_core::moveit_core + ${moveit_msgs_TARGETS} + moveit_ros_planning::moveit_ros_planning + moveit_ros_planning_interface::moveit_ros_planning_interface + pluginlib::pluginlib + rclcpp::rclcpp + rclcpp_components::component + realtime_tools::realtime_tools + ${sensor_msgs_TARGETS} + ${std_msgs_TARGETS} + ${std_srvs_TARGETS} + tf2_eigen::tf2_eigen + ${trajectory_msgs_TARGETS}) # Executable node for the pose demo add_executable(demo_pose demos/cpp_interface/demo_pose.cpp) -target_link_libraries(demo_pose moveit_servo_lib_cpp) -ament_target_dependencies(demo_pose ${THIS_PACKAGE_INCLUDE_DEPENDS}) +target_link_libraries( + demo_pose + moveit_servo_lib_cpp + ${control_msgs_TARGETS} + ${geometry_msgs_TARGETS} + moveit_core::moveit_core + ${moveit_msgs_TARGETS} + moveit_ros_planning::moveit_ros_planning + moveit_ros_planning_interface::moveit_ros_planning_interface + pluginlib::pluginlib + rclcpp::rclcpp + rclcpp_components::component + realtime_tools::realtime_tools + ${sensor_msgs_TARGETS} + ${std_msgs_TARGETS} + ${std_srvs_TARGETS} + tf2_eigen::tf2_eigen + ${trajectory_msgs_TARGETS}) # Keyboard control example for servo add_executable(servo_keyboard_input demos/servo_keyboard_input.cpp) target_include_directories(servo_keyboard_input PUBLIC include) -ament_target_dependencies(servo_keyboard_input ${THIS_PACKAGE_INCLUDE_DEPENDS}) +target_link_libraries( + servo_keyboard_input + ${control_msgs_TARGETS} + ${geometry_msgs_TARGETS} + moveit_core::moveit_core + ${moveit_msgs_TARGETS} + moveit_ros_planning::moveit_ros_planning + moveit_ros_planning_interface::moveit_ros_planning_interface + pluginlib::pluginlib + rclcpp::rclcpp + rclcpp_components::component + realtime_tools::realtime_tools + ${sensor_msgs_TARGETS} + ${std_msgs_TARGETS} + ${std_srvs_TARGETS} + tf2_eigen::tf2_eigen + ${trajectory_msgs_TARGETS}) # ############################################################################## # Install ## # ############################################################################## +# Create an umbrella INTERFACE target so downstream packages can use +# moveit_servo::moveit_servo to link all libraries at once. +add_library(moveit_servo INTERFACE) +target_link_libraries( + moveit_servo INTERFACE moveit_servo_lib_cpp moveit_servo_lib_ros + moveit_servo_lib_parameters) + # Install Libraries install( - TARGETS moveit_servo_lib_cpp moveit_servo_lib_ros moveit_servo_lib_parameters + TARGETS moveit_servo moveit_servo_lib_cpp moveit_servo_lib_ros + moveit_servo_lib_parameters EXPORT moveit_servoTargets LIBRARY DESTINATION lib ARCHIVE DESTINATION lib @@ -120,26 +224,71 @@ if(BUILD_TESTING) find_package(ros_testing REQUIRED) ament_add_gtest_executable(moveit_servo_utils_test tests/test_utils.cpp) - target_link_libraries(moveit_servo_utils_test moveit_servo_lib_cpp) - ament_target_dependencies(moveit_servo_utils_test - ${THIS_PACKAGE_INCLUDE_DEPENDS}) + target_link_libraries( + moveit_servo_utils_test + moveit_servo_lib_cpp + ${control_msgs_TARGETS} + ${geometry_msgs_TARGETS} + moveit_core::moveit_core + ${moveit_msgs_TARGETS} + moveit_ros_planning::moveit_ros_planning + moveit_ros_planning_interface::moveit_ros_planning_interface + pluginlib::pluginlib + rclcpp::rclcpp + rclcpp_components::component + realtime_tools::realtime_tools + ${sensor_msgs_TARGETS} + ${std_msgs_TARGETS} + ${std_srvs_TARGETS} + tf2_eigen::tf2_eigen + ${trajectory_msgs_TARGETS}) add_ros_test(tests/launch/servo_utils.test.py TIMEOUT 30 ARGS "test_binary_dir:=${CMAKE_CURRENT_BINARY_DIR}") ament_add_gtest_executable( moveit_servo_cpp_integration_test tests/test_integration.cpp tests/servo_cpp_fixture.hpp) - target_link_libraries(moveit_servo_cpp_integration_test moveit_servo_lib_cpp) - ament_target_dependencies(moveit_servo_cpp_integration_test - ${THIS_PACKAGE_INCLUDE_DEPENDS}) + target_link_libraries( + moveit_servo_cpp_integration_test + moveit_servo_lib_cpp + ${control_msgs_TARGETS} + ${geometry_msgs_TARGETS} + moveit_core::moveit_core + ${moveit_msgs_TARGETS} + moveit_ros_planning::moveit_ros_planning + moveit_ros_planning_interface::moveit_ros_planning_interface + pluginlib::pluginlib + rclcpp::rclcpp + rclcpp_components::component + realtime_tools::realtime_tools + ${sensor_msgs_TARGETS} + ${std_msgs_TARGETS} + ${std_srvs_TARGETS} + tf2_eigen::tf2_eigen + ${trajectory_msgs_TARGETS}) add_ros_test(tests/launch/servo_cpp_integration.test.py TIMEOUT 30 ARGS "test_binary_dir:=${CMAKE_CURRENT_BINARY_DIR}") ament_add_gtest_executable( moveit_servo_ros_integration_test tests/test_ros_integration.cpp tests/servo_ros_fixture.hpp) - ament_target_dependencies(moveit_servo_ros_integration_test - ${THIS_PACKAGE_INCLUDE_DEPENDS}) + target_link_libraries( + moveit_servo_ros_integration_test + ${control_msgs_TARGETS} + ${geometry_msgs_TARGETS} + moveit_core::moveit_core + ${moveit_msgs_TARGETS} + moveit_ros_planning::moveit_ros_planning + moveit_ros_planning_interface::moveit_ros_planning_interface + pluginlib::pluginlib + rclcpp::rclcpp + rclcpp_components::component + realtime_tools::realtime_tools + ${sensor_msgs_TARGETS} + ${std_msgs_TARGETS} + ${std_srvs_TARGETS} + tf2_eigen::tf2_eigen + ${trajectory_msgs_TARGETS}) add_ros_test(tests/launch/servo_ros_integration.test.py TIMEOUT 120 ARGS "test_binary_dir:=${CMAKE_CURRENT_BINARY_DIR}") diff --git a/moveit_ros/occupancy_map_monitor/CMakeLists.txt b/moveit_ros/occupancy_map_monitor/CMakeLists.txt index b8dd549bcb..98737c501a 100644 --- a/moveit_ros/occupancy_map_monitor/CMakeLists.txt +++ b/moveit_ros/occupancy_map_monitor/CMakeLists.txt @@ -18,6 +18,8 @@ find_package(Eigen3 REQUIRED) find_package(octomap 1.9.7...<1.10.0 REQUIRED) find_package(geometric_shapes REQUIRED) find_package(tf2_ros REQUIRED) +find_package(rclcpp REQUIRED) +find_package(Boost REQUIRED) include_directories(include) include_directories(SYSTEM ${EIGEN3_INCLUDE_DIRS} ${X11_INCLUDE_DIR}) @@ -38,14 +40,27 @@ add_library( set_target_properties( moveit_ros_occupancy_map_monitor PROPERTIES VERSION "${moveit_ros_occupancy_map_monitor_VERSION}") -ament_target_dependencies(moveit_ros_occupancy_map_monitor - ${THIS_PACKAGE_INCLUDE_DEPENDS}) +target_link_libraries( + moveit_ros_occupancy_map_monitor + rclcpp::rclcpp + moveit_core::moveit_core + ${moveit_msgs_TARGETS} + pluginlib::pluginlib + octomap + geometric_shapes::geometric_shapes + Boost::headers) add_executable(moveit_ros_occupancy_map_server src/occupancy_map_server.cpp) -ament_target_dependencies(moveit_ros_occupancy_map_server PUBLIC - ${THIS_PACKAGE_INCLUDE_DEPENDS}) -target_link_libraries(moveit_ros_occupancy_map_server - PRIVATE moveit_ros_occupancy_map_monitor) +target_link_libraries( + moveit_ros_occupancy_map_server + PRIVATE moveit_ros_occupancy_map_monitor + rclcpp::rclcpp + moveit_core::moveit_core + ${moveit_msgs_TARGETS} + pluginlib::pluginlib + octomap + geometric_shapes::geometric_shapes + Boost::headers) install( TARGETS moveit_ros_occupancy_map_monitor diff --git a/moveit_ros/perception/CMakeLists.txt b/moveit_ros/perception/CMakeLists.txt index 22751c9219..761d53c841 100644 --- a/moveit_ros/perception/CMakeLists.txt +++ b/moveit_ros/perception/CMakeLists.txt @@ -53,6 +53,9 @@ find_package(sensor_msgs REQUIRED) find_package(moveit_msgs REQUIRED) find_package(moveit_ros_occupancy_map_monitor REQUIRED) find_package(Eigen3 REQUIRED) +find_package(geometric_shapes REQUIRED) +find_package(geometry_msgs REQUIRED) +find_package(visualization_msgs REQUIRED) find_package(OpenMP REQUIRED) find_package(OpenCV) @@ -104,8 +107,13 @@ endif() add_subdirectory(semantic_world) +# Create an umbrella INTERFACE target so downstream packages can use +# moveit_ros_perception::moveit_ros_perception to link all libraries at once. +add_library(moveit_ros_perception INTERFACE) +target_link_libraries(moveit_ros_perception INTERFACE ${THIS_PACKAGE_LIBRARIES}) + install( - TARGETS ${THIS_PACKAGE_LIBRARIES} + TARGETS moveit_ros_perception ${THIS_PACKAGE_LIBRARIES} EXPORT moveit_ros_perceptionTargets LIBRARY DESTINATION lib ARCHIVE DESTINATION lib diff --git a/moveit_ros/perception/depth_image_octomap_updater/CMakeLists.txt b/moveit_ros/perception/depth_image_octomap_updater/CMakeLists.txt index 752666a5dc..6500b8aff4 100644 --- a/moveit_ros/perception/depth_image_octomap_updater/CMakeLists.txt +++ b/moveit_ros/perception/depth_image_octomap_updater/CMakeLists.txt @@ -2,34 +2,33 @@ add_library(moveit_depth_image_octomap_updater_core SHARED src/depth_image_octomap_updater.cpp) set_target_properties(moveit_depth_image_octomap_updater_core PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies( +target_link_libraries( moveit_depth_image_octomap_updater_core - rclcpp - moveit_core - image_transport - sensor_msgs - tf2 - tf2_geometry_msgs - geometric_shapes - moveit_ros_occupancy_map_monitor) -target_link_libraries(moveit_depth_image_octomap_updater_core - moveit_lazy_free_space_updater moveit_mesh_filter) + moveit_lazy_free_space_updater + moveit_mesh_filter + rclcpp::rclcpp + moveit_core::moveit_core + image_transport::image_transport + ${sensor_msgs_TARGETS} + tf2::tf2 + ${tf2_geometry_msgs_TARGETS} + geometric_shapes::geometric_shapes + moveit_ros_occupancy_map_monitor::moveit_ros_occupancy_map_monitor) add_library(moveit_depth_image_octomap_updater SHARED src/updater_plugin.cpp) set_target_properties(moveit_depth_image_octomap_updater PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies( +target_link_libraries( moveit_depth_image_octomap_updater - rclcpp - moveit_core - image_transport - sensor_msgs - tf2 - tf2_geometry_msgs - geometric_shapes - moveit_ros_occupancy_map_monitor - pluginlib) -target_link_libraries(moveit_depth_image_octomap_updater - moveit_depth_image_octomap_updater_core) + moveit_depth_image_octomap_updater_core + rclcpp::rclcpp + moveit_core::moveit_core + image_transport::image_transport + ${sensor_msgs_TARGETS} + tf2::tf2 + ${tf2_geometry_msgs_TARGETS} + geometric_shapes::geometric_shapes + moveit_ros_occupancy_map_monitor::moveit_ros_occupancy_map_monitor + pluginlib::pluginlib) install(DIRECTORY include/ DESTINATION include/moveit_ros_perception) diff --git a/moveit_ros/perception/lazy_free_space_updater/CMakeLists.txt b/moveit_ros/perception/lazy_free_space_updater/CMakeLists.txt index ce2ce81c29..e7ae903d44 100644 --- a/moveit_ros/perception/lazy_free_space_updater/CMakeLists.txt +++ b/moveit_ros/perception/lazy_free_space_updater/CMakeLists.txt @@ -10,7 +10,9 @@ set_target_properties(moveit_lazy_free_space_updater if(APPLE) target_link_libraries(moveit_lazy_free_space_updater OpenMP::OpenMP_CXX) endif() -ament_target_dependencies(moveit_lazy_free_space_updater rclcpp - moveit_ros_occupancy_map_monitor sensor_msgs) +target_link_libraries( + moveit_lazy_free_space_updater rclcpp::rclcpp + moveit_ros_occupancy_map_monitor::moveit_ros_occupancy_map_monitor + ${sensor_msgs_TARGETS}) install(DIRECTORY include/ DESTINATION include/moveit_ros_perception) diff --git a/moveit_ros/perception/mesh_filter/CMakeLists.txt b/moveit_ros/perception/mesh_filter/CMakeLists.txt index ee1844df52..7697be3301 100644 --- a/moveit_ros/perception/mesh_filter/CMakeLists.txt +++ b/moveit_ros/perception/mesh_filter/CMakeLists.txt @@ -8,10 +8,14 @@ target_include_directories( moveit_mesh_filter PUBLIC $) set_target_properties(moveit_mesh_filter PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies(moveit_mesh_filter rclcpp moveit_core - geometric_shapes Eigen3) - -target_link_libraries(moveit_mesh_filter ${GL_LIBS} ${SYSTEM_GL_LIBRARIES}) +target_link_libraries( + moveit_mesh_filter + ${GL_LIBS} + ${SYSTEM_GL_LIBRARIES} + rclcpp::rclcpp + moveit_core::moveit_core + geometric_shapes::geometric_shapes + Eigen3::Eigen) # TODO: Port to ROS2 add_library(moveit_depth_self_filter SHARED # src/depth_self_filter_nodelet.cpp src/transform_provider.cpp ) diff --git a/moveit_ros/perception/point_containment_filter/CMakeLists.txt b/moveit_ros/perception/point_containment_filter/CMakeLists.txt index f13a319e1e..f3963c148f 100644 --- a/moveit_ros/perception/point_containment_filter/CMakeLists.txt +++ b/moveit_ros/perception/point_containment_filter/CMakeLists.txt @@ -6,7 +6,8 @@ set_target_properties( PROPERTIES COMPILE_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") set_target_properties(moveit_point_containment_filter PROPERTIES LINK_FLAGS "${OpenMP_CXX_FLAGS}") -ament_target_dependencies(moveit_point_containment_filter rclcpp sensor_msgs - geometric_shapes moveit_core) +target_link_libraries( + moveit_point_containment_filter rclcpp::rclcpp ${sensor_msgs_TARGETS} + geometric_shapes::geometric_shapes moveit_core::moveit_core) install(DIRECTORY include/ DESTINATION include/moveit_ros_perception) diff --git a/moveit_ros/perception/pointcloud_octomap_updater/CMakeLists.txt b/moveit_ros/perception/pointcloud_octomap_updater/CMakeLists.txt index 6b928b506d..83f5309add 100644 --- a/moveit_ros/perception/pointcloud_octomap_updater/CMakeLists.txt +++ b/moveit_ros/perception/pointcloud_octomap_updater/CMakeLists.txt @@ -2,18 +2,17 @@ add_library(moveit_pointcloud_octomap_updater_core SHARED src/pointcloud_octomap_updater.cpp) set_target_properties(moveit_pointcloud_octomap_updater_core PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies( +target_link_libraries( moveit_pointcloud_octomap_updater_core - rclcpp - moveit_core - tf2_ros - message_filters - sensor_msgs - moveit_ros_occupancy_map_monitor - tf2_geometry_msgs - tf2) -target_link_libraries(moveit_pointcloud_octomap_updater_core - moveit_point_containment_filter) + moveit_point_containment_filter + rclcpp::rclcpp + moveit_core::moveit_core + tf2_ros::tf2_ros + message_filters::message_filters + ${sensor_msgs_TARGETS} + moveit_ros_occupancy_map_monitor::moveit_ros_occupancy_map_monitor + ${tf2_geometry_msgs_TARGETS} + tf2::tf2) set_target_properties( moveit_pointcloud_octomap_updater_core PROPERTIES COMPILE_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") @@ -24,18 +23,17 @@ set_target_properties( add_library(moveit_pointcloud_octomap_updater SHARED src/plugin_init.cpp) set_target_properties(moveit_pointcloud_octomap_updater PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies( +target_link_libraries( moveit_pointcloud_octomap_updater - rclcpp - moveit_core - tf2_ros - message_filters - sensor_msgs - moveit_ros_occupancy_map_monitor - tf2_geometry_msgs - tf2 - pluginlib) -target_link_libraries(moveit_pointcloud_octomap_updater - moveit_pointcloud_octomap_updater_core) + moveit_pointcloud_octomap_updater_core + rclcpp::rclcpp + moveit_core::moveit_core + tf2_ros::tf2_ros + message_filters::message_filters + ${sensor_msgs_TARGETS} + moveit_ros_occupancy_map_monitor::moveit_ros_occupancy_map_monitor + ${tf2_geometry_msgs_TARGETS} + tf2::tf2 + pluginlib::pluginlib) install(DIRECTORY include/ DESTINATION include/moveit_ros_perception) diff --git a/moveit_ros/perception/semantic_world/CMakeLists.txt b/moveit_ros/perception/semantic_world/CMakeLists.txt index 98c87211ff..6ef5ed1168 100644 --- a/moveit_ros/perception/semantic_world/CMakeLists.txt +++ b/moveit_ros/perception/semantic_world/CMakeLists.txt @@ -1,19 +1,18 @@ add_library(moveit_semantic_world SHARED src/semantic_world.cpp) set_target_properties(moveit_semantic_world PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies( +target_link_libraries( moveit_semantic_world - PUBLIC - rclcpp - moveit_core - object_recognition_msgs - visualization_msgs - geometry_msgs - geometric_shapes - moveit_msgs - tf2_eigen - Eigen3 - Boost - OpenCV) + PUBLIC rclcpp::rclcpp + moveit_core::moveit_core + ${object_recognition_msgs_TARGETS} + ${visualization_msgs_TARGETS} + ${geometry_msgs_TARGETS} + geometric_shapes::geometric_shapes + ${moveit_msgs_TARGETS} + tf2_eigen::tf2_eigen + Eigen3::Eigen + Boost::headers + ${OpenCV_LIBS}) install(DIRECTORY include/ DESTINATION include/moveit_ros_perception) diff --git a/moveit_ros/planning/CMakeLists.txt b/moveit_ros/planning/CMakeLists.txt index 9b4136d012..3c1cfdcd83 100644 --- a/moveit_ros/planning/CMakeLists.txt +++ b/moveit_ros/planning/CMakeLists.txt @@ -17,6 +17,7 @@ find_package(moveit_ros_occupancy_map_monitor REQUIRED) find_package(pluginlib REQUIRED) find_package(rclcpp REQUIRED) find_package(rclcpp_components REQUIRED) +find_package(sensor_msgs REQUIRED) find_package(srdfdom REQUIRED) find_package(std_msgs REQUIRED) find_package(tf2 REQUIRED) @@ -70,6 +71,7 @@ set(THIS_PACKAGE_INCLUDE_DEPENDS pluginlib rclcpp rclcpp_components + sensor_msgs srdfdom std_msgs tf2 @@ -100,8 +102,13 @@ add_subdirectory(robot_model_loader) add_subdirectory(srdf_publisher_node) add_subdirectory(trajectory_execution_manager) +# Create an umbrella INTERFACE target so downstream packages can use +# moveit_ros_planning::moveit_ros_planning to link all libraries at once. +add_library(moveit_ros_planning INTERFACE) +target_link_libraries(moveit_ros_planning INTERFACE ${THIS_PACKAGE_LIBRARIES}) + install( - TARGETS ${THIS_PACKAGE_LIBRARIES} + TARGETS moveit_ros_planning ${THIS_PACKAGE_LIBRARIES} EXPORT moveit_ros_planningTargets LIBRARY DESTINATION lib ARCHIVE DESTINATION lib diff --git a/moveit_ros/planning/collision_plugin_loader/CMakeLists.txt b/moveit_ros/planning/collision_plugin_loader/CMakeLists.txt index bc34ed5eca..577f6dcd2d 100644 --- a/moveit_ros/planning/collision_plugin_loader/CMakeLists.txt +++ b/moveit_ros/planning/collision_plugin_loader/CMakeLists.txt @@ -2,7 +2,7 @@ add_library(moveit_collision_plugin_loader SHARED src/collision_plugin_loader.cpp) set_target_properties(moveit_collision_plugin_loader PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies(moveit_collision_plugin_loader moveit_core rclcpp - pluginlib) +target_link_libraries(moveit_collision_plugin_loader moveit_core::moveit_core + rclcpp::rclcpp pluginlib::pluginlib) install(DIRECTORY include/ DESTINATION include/moveit_ros_planning) diff --git a/moveit_ros/planning/constraint_sampler_manager_loader/CMakeLists.txt b/moveit_ros/planning/constraint_sampler_manager_loader/CMakeLists.txt index 222a564a78..0b457167f7 100644 --- a/moveit_ros/planning/constraint_sampler_manager_loader/CMakeLists.txt +++ b/moveit_ros/planning/constraint_sampler_manager_loader/CMakeLists.txt @@ -3,9 +3,8 @@ add_library(moveit_constraint_sampler_manager_loader SHARED set_target_properties(moveit_constraint_sampler_manager_loader PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies(moveit_constraint_sampler_manager_loader moveit_core - rclcpp Boost pluginlib) -target_link_libraries(moveit_constraint_sampler_manager_loader - moveit_rdf_loader) +target_link_libraries( + moveit_constraint_sampler_manager_loader moveit_rdf_loader + moveit_core::moveit_core rclcpp::rclcpp Boost::headers pluginlib::pluginlib) install(DIRECTORY include/ DESTINATION include/moveit_ros_planning) diff --git a/moveit_ros/planning/kinematics_plugin_loader/CMakeLists.txt b/moveit_ros/planning/kinematics_plugin_loader/CMakeLists.txt index cbc9d6d0ff..61f9c38972 100644 --- a/moveit_ros/planning/kinematics_plugin_loader/CMakeLists.txt +++ b/moveit_ros/planning/kinematics_plugin_loader/CMakeLists.txt @@ -2,16 +2,20 @@ add_library(moveit_kinematics_plugin_loader SHARED src/kinematics_plugin_loader.cpp) set_target_properties(moveit_kinematics_plugin_loader PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies(moveit_kinematics_plugin_loader rclcpp urdf pluginlib - class_loader moveit_core) - generate_parameter_library( kinematics_parameters # cmake target name for the parameter library src/kinematics_parameters.yaml # path to input yaml file ) -target_link_libraries(moveit_kinematics_plugin_loader moveit_rdf_loader - kinematics_parameters) +target_link_libraries( + moveit_kinematics_plugin_loader + moveit_rdf_loader + kinematics_parameters + rclcpp::rclcpp + urdf::urdf + pluginlib::pluginlib + class_loader::class_loader + moveit_core::moveit_core) install( TARGETS kinematics_parameters diff --git a/moveit_ros/planning/moveit_cpp/CMakeLists.txt b/moveit_ros/planning/moveit_cpp/CMakeLists.txt index 59850df90f..a6e6f63503 100644 --- a/moveit_ros/planning/moveit_cpp/CMakeLists.txt +++ b/moveit_ros/planning/moveit_cpp/CMakeLists.txt @@ -1,10 +1,14 @@ add_library(moveit_cpp SHARED src/moveit_cpp.cpp src/planning_component.cpp) set_target_properties(moveit_cpp PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies(moveit_cpp rclcpp moveit_core) target_link_libraries( - moveit_cpp moveit_planning_scene_monitor moveit_planning_pipeline - moveit_planning_pipeline_interfaces moveit_trajectory_execution_manager) + moveit_cpp + moveit_planning_scene_monitor + moveit_planning_pipeline + moveit_planning_pipeline_interfaces + moveit_trajectory_execution_manager + rclcpp::rclcpp + moveit_core::moveit_core) install(DIRECTORY include/ DESTINATION include/moveit_ros_planning) diff --git a/moveit_ros/planning/plan_execution/CMakeLists.txt b/moveit_ros/planning/plan_execution/CMakeLists.txt index 95c11fd8e5..1a9cda2953 100644 --- a/moveit_ros/planning/plan_execution/CMakeLists.txt +++ b/moveit_ros/planning/plan_execution/CMakeLists.txt @@ -2,9 +2,14 @@ add_library(moveit_plan_execution SHARED src/plan_execution.cpp) set_target_properties(moveit_plan_execution PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") target_link_libraries( - moveit_plan_execution moveit_planning_pipeline moveit_planning_scene_monitor - moveit_trajectory_execution_manager) -ament_target_dependencies(moveit_plan_execution moveit_core rclcpp Boost - class_loader pluginlib) + moveit_plan_execution + moveit_planning_pipeline + moveit_planning_scene_monitor + moveit_trajectory_execution_manager + moveit_core::moveit_core + rclcpp::rclcpp + Boost::headers + class_loader::class_loader + pluginlib::pluginlib) install(DIRECTORY include/ DESTINATION include/moveit_ros_planning) diff --git a/moveit_ros/planning/planning_components_tools/CMakeLists.txt b/moveit_ros/planning/planning_components_tools/CMakeLists.txt index 0eb2bd3fab..d38479aa72 100644 --- a/moveit_ros/planning/planning_components_tools/CMakeLists.txt +++ b/moveit_ros/planning/planning_components_tools/CMakeLists.txt @@ -5,31 +5,29 @@ add_executable(moveit_print_planning_model_info src/print_planning_model_info.cpp) target_link_libraries(moveit_print_planning_model_info - moveit_robot_model_loader) -ament_target_dependencies(moveit_print_planning_model_info rclcpp) + moveit_robot_model_loader rclcpp::rclcpp) add_executable(moveit_print_planning_scene_info src/print_planning_scene_info.cpp) target_link_libraries(moveit_print_planning_scene_info - moveit_planning_scene_monitor) -ament_target_dependencies(moveit_print_planning_scene_info rclcpp) + moveit_planning_scene_monitor rclcpp::rclcpp) add_executable(moveit_display_random_state src/display_random_state.cpp) -target_link_libraries(moveit_display_random_state moveit_planning_scene_monitor) -ament_target_dependencies(moveit_display_random_state rclcpp) +target_link_libraries(moveit_display_random_state moveit_planning_scene_monitor + rclcpp::rclcpp) add_executable(moveit_visualize_robot_collision_volume src/visualize_robot_collision_volume.cpp) -target_link_libraries(moveit_visualize_robot_collision_volume - PRIVATE moveit_planning_scene_monitor) -ament_target_dependencies(moveit_visualize_robot_collision_volume PUBLIC rclcpp - tf2_ros) +target_link_libraries( + moveit_visualize_robot_collision_volume + PRIVATE moveit_planning_scene_monitor + PUBLIC rclcpp::rclcpp tf2_ros::tf2_ros) add_executable(moveit_evaluate_collision_checking_speed src/evaluate_collision_checking_speed.cpp) -target_link_libraries(moveit_evaluate_collision_checking_speed - moveit_planning_scene_monitor) -ament_target_dependencies(moveit_evaluate_collision_checking_speed rclcpp Boost) +target_link_libraries( + moveit_evaluate_collision_checking_speed moveit_planning_scene_monitor + rclcpp::rclcpp Boost::headers Boost::program_options) if("${catkin_LIBRARIES}" MATCHES "moveit_collision_detection_bullet") add_executable(moveit_compare_collision_checking_speed_fcl_bullet @@ -41,9 +39,9 @@ endif() add_executable(moveit_publish_scene_from_text src/publish_scene_from_text.cpp) target_link_libraries( - moveit_publish_scene_from_text PRIVATE moveit_planning_scene_monitor - moveit_robot_model_loader) -ament_target_dependencies(moveit_publish_scene_from_text PUBLIC rclcpp) + moveit_publish_scene_from_text + PRIVATE moveit_planning_scene_monitor moveit_robot_model_loader + PUBLIC rclcpp::rclcpp) install( TARGETS moveit_print_planning_model_info diff --git a/moveit_ros/planning/planning_pipeline/CMakeLists.txt b/moveit_ros/planning/planning_pipeline/CMakeLists.txt index d3e9c75790..836d1f0d40 100644 --- a/moveit_ros/planning/planning_pipeline/CMakeLists.txt +++ b/moveit_ros/planning/planning_pipeline/CMakeLists.txt @@ -2,7 +2,10 @@ generate_parameter_library(planning_pipeline_parameters res/planning_pipeline_parameters.yaml) add_library(moveit_planning_pipeline SHARED src/planning_pipeline.cpp) -target_link_libraries(moveit_planning_pipeline planning_pipeline_parameters) +target_link_libraries( + moveit_planning_pipeline planning_pipeline_parameters + moveit_core::moveit_core ${moveit_msgs_TARGETS} rclcpp::rclcpp + pluginlib::pluginlib) include(GenerateExportHeader) generate_export_header(moveit_planning_pipeline) target_include_directories( @@ -11,9 +14,6 @@ target_include_directories( set_target_properties(moveit_planning_pipeline PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies(moveit_planning_pipeline moveit_core moveit_msgs - rclcpp pluginlib) - if(BUILD_TESTING) find_package(ament_cmake_gtest REQUIRED) @@ -22,8 +22,8 @@ if(BUILD_TESTING) target_include_directories( moveit_pipeline_test_plugins PUBLIC $) - ament_target_dependencies(moveit_pipeline_test_plugins moveit_core rclcpp - pluginlib) + target_link_libraries(moveit_pipeline_test_plugins moveit_core::moveit_core + rclcpp::rclcpp pluginlib::pluginlib) set_target_properties(moveit_pipeline_test_plugins PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") @@ -33,9 +33,10 @@ if(BUILD_TESTING) target_include_directories( moveit_planning_pipeline_test PUBLIC $) - ament_target_dependencies(moveit_planning_pipeline_test moveit_core - moveit_msgs rclcpp pluginlib) - target_link_libraries(moveit_planning_pipeline_test moveit_planning_pipeline) + target_link_libraries( + moveit_planning_pipeline_test moveit_planning_pipeline + moveit_core::moveit_core ${moveit_msgs_TARGETS} rclcpp::rclcpp + pluginlib::pluginlib) install( TARGETS moveit_pipeline_test_plugins diff --git a/moveit_ros/planning/planning_pipeline_interfaces/CMakeLists.txt b/moveit_ros/planning/planning_pipeline_interfaces/CMakeLists.txt index a6ccb228ca..34105f391e 100644 --- a/moveit_ros/planning/planning_pipeline_interfaces/CMakeLists.txt +++ b/moveit_ros/planning/planning_pipeline_interfaces/CMakeLists.txt @@ -10,11 +10,9 @@ target_include_directories( PUBLIC $) set_target_properties(moveit_planning_pipeline_interfaces PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -target_link_libraries(moveit_planning_pipeline_interfaces - moveit_planning_pipeline) - -ament_target_dependencies(moveit_planning_pipeline_interfaces moveit_core - moveit_msgs rclcpp) +target_link_libraries( + moveit_planning_pipeline_interfaces moveit_planning_pipeline + moveit_core::moveit_core ${moveit_msgs_TARGETS} rclcpp::rclcpp) install(DIRECTORY include/ DESTINATION include/moveit_ros_planning) install( diff --git a/moveit_ros/planning/planning_request_adapter_plugins/CMakeLists.txt b/moveit_ros/planning/planning_request_adapter_plugins/CMakeLists.txt index 54cb62da1a..fe0d43ef2d 100644 --- a/moveit_ros/planning/planning_request_adapter_plugins/CMakeLists.txt +++ b/moveit_ros/planning/planning_request_adapter_plugins/CMakeLists.txt @@ -7,13 +7,12 @@ add_library( src/check_start_state_collision.cpp src/validate_workspace_bounds.cpp src/resolve_constraint_frames.cpp) -target_link_libraries(moveit_default_planning_request_adapter_plugins - default_request_adapter_parameters) - set_target_properties(moveit_default_planning_request_adapter_plugins PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies(moveit_default_planning_request_adapter_plugins - moveit_core rclcpp pluginlib) +target_link_libraries( + moveit_default_planning_request_adapter_plugins + default_request_adapter_parameters moveit_core::moveit_core rclcpp::rclcpp + pluginlib::pluginlib) if(BUILD_TESTING) find_package(ament_cmake_gtest REQUIRED) diff --git a/moveit_ros/planning/planning_response_adapter_plugins/CMakeLists.txt b/moveit_ros/planning/planning_response_adapter_plugins/CMakeLists.txt index 7471eefa34..59edb807c2 100644 --- a/moveit_ros/planning/planning_response_adapter_plugins/CMakeLists.txt +++ b/moveit_ros/planning/planning_response_adapter_plugins/CMakeLists.txt @@ -6,10 +6,9 @@ add_library( src/add_ruckig_traj_smoothing.cpp src/add_time_optimal_parameterization.cpp src/display_motion_path.cpp src/validate_path.cpp) -target_link_libraries(moveit_default_planning_response_adapter_plugins - default_response_adapter_parameters) - set_target_properties(moveit_default_planning_response_adapter_plugins PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies(moveit_default_planning_response_adapter_plugins - Boost moveit_core rclcpp pluginlib) +target_link_libraries( + moveit_default_planning_response_adapter_plugins + default_response_adapter_parameters Boost::headers moveit_core::moveit_core + rclcpp::rclcpp pluginlib::pluginlib) diff --git a/moveit_ros/planning/planning_scene_monitor/CMakeLists.txt b/moveit_ros/planning/planning_scene_monitor/CMakeLists.txt index 03eab4077d..32feb33e0b 100644 --- a/moveit_ros/planning/planning_scene_monitor/CMakeLists.txt +++ b/moveit_ros/planning/planning_scene_monitor/CMakeLists.txt @@ -10,29 +10,24 @@ target_include_directories( PUBLIC $) set_target_properties(moveit_planning_scene_monitor PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies( +target_link_libraries( moveit_planning_scene_monitor - moveit_ros_occupancy_map_monitor - message_filters - urdf - pluginlib - rclcpp - fmt - moveit_msgs) -target_link_libraries(moveit_planning_scene_monitor moveit_robot_model_loader - moveit_collision_plugin_loader) + moveit_robot_model_loader + moveit_collision_plugin_loader + moveit_ros_occupancy_map_monitor::moveit_ros_occupancy_map_monitor + message_filters::message_filters + urdf::urdf + pluginlib::pluginlib + rclcpp::rclcpp + fmt::fmt + ${moveit_msgs_TARGETS}) add_executable(demo_scene demos/demo_scene.cpp) -ament_target_dependencies( +target_link_libraries( demo_scene - PUBLIC - rclcpp - fmt - moveit_msgs - urdf - message_filters - pluginlib) -target_link_libraries(demo_scene PRIVATE moveit_planning_scene_monitor) + PRIVATE moveit_planning_scene_monitor + PUBLIC rclcpp::rclcpp fmt::fmt ${moveit_msgs_TARGETS} urdf::urdf + message_filters::message_filters pluginlib::pluginlib) install(TARGETS demo_scene DESTINATION lib/${PROJECT_NAME}) @@ -55,10 +50,9 @@ if(BUILD_TESTING) ament_add_gtest_executable(planning_scene_monitor_test test/planning_scene_monitor_test.cpp) - target_link_libraries(planning_scene_monitor_test - moveit_planning_scene_monitor) - ament_target_dependencies(planning_scene_monitor_test moveit_core rclcpp - moveit_msgs) + target_link_libraries( + planning_scene_monitor_test moveit_planning_scene_monitor + moveit_core::moveit_core rclcpp::rclcpp ${moveit_msgs_TARGETS}) add_ros_test(test/launch/planning_scene_monitor.test.py TIMEOUT 30 ARGS "test_binary_dir:=${CMAKE_CURRENT_BINARY_DIR}") diff --git a/moveit_ros/planning/rdf_loader/CMakeLists.txt b/moveit_ros/planning/rdf_loader/CMakeLists.txt index 70b73b8b59..6c3a08d3ff 100644 --- a/moveit_ros/planning/rdf_loader/CMakeLists.txt +++ b/moveit_ros/planning/rdf_loader/CMakeLists.txt @@ -2,8 +2,9 @@ add_library(moveit_rdf_loader SHARED src/rdf_loader.cpp src/synchronized_string_parameter.cpp) set_target_properties(moveit_rdf_loader PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies(moveit_rdf_loader rclcpp ament_index_cpp urdf srdfdom - moveit_core) +target_link_libraries( + moveit_rdf_loader rclcpp::rclcpp ament_index_cpp::ament_index_cpp urdf::urdf + srdfdom::srdfdom moveit_core::moveit_core) install(DIRECTORY include/ DESTINATION include/moveit_ros_planning) install(DIRECTORY test/data test/launch diff --git a/moveit_ros/planning/robot_model_loader/CMakeLists.txt b/moveit_ros/planning/robot_model_loader/CMakeLists.txt index 284ea4a363..ce7baa5d76 100644 --- a/moveit_ros/planning/robot_model_loader/CMakeLists.txt +++ b/moveit_ros/planning/robot_model_loader/CMakeLists.txt @@ -5,9 +5,14 @@ endif() add_library(moveit_robot_model_loader SHARED src/robot_model_loader.cpp) set_target_properties(moveit_robot_model_loader PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies(moveit_robot_model_loader rclcpp urdf Boost - moveit_core moveit_msgs) -target_link_libraries(moveit_robot_model_loader moveit_rdf_loader - moveit_kinematics_plugin_loader) +target_link_libraries( + moveit_robot_model_loader + moveit_rdf_loader + moveit_kinematics_plugin_loader + rclcpp::rclcpp + urdf::urdf + Boost::headers + moveit_core::moveit_core + ${moveit_msgs_TARGETS}) install(DIRECTORY include/ DESTINATION include/moveit_ros_planning) diff --git a/moveit_ros/planning/srdf_publisher_node/CMakeLists.txt b/moveit_ros/planning/srdf_publisher_node/CMakeLists.txt index d548d2f1e6..e858e7f53f 100644 --- a/moveit_ros/planning/srdf_publisher_node/CMakeLists.txt +++ b/moveit_ros/planning/srdf_publisher_node/CMakeLists.txt @@ -1,6 +1,7 @@ add_library(srdf_publisher_node SHARED src/srdf_publisher_node.cpp) -ament_target_dependencies(srdf_publisher_node PUBLIC std_msgs rclcpp - rclcpp_components) +target_link_libraries( + srdf_publisher_node PUBLIC ${std_msgs_TARGETS} rclcpp::rclcpp + rclcpp_components::component) if(BUILD_TESTING) find_package(launch_testing_ament_cmake REQUIRED) diff --git a/moveit_ros/planning/trajectory_execution_manager/CMakeLists.txt b/moveit_ros/planning/trajectory_execution_manager/CMakeLists.txt index 929e8c88f6..0d2f81c0ca 100644 --- a/moveit_ros/planning/trajectory_execution_manager/CMakeLists.txt +++ b/moveit_ros/planning/trajectory_execution_manager/CMakeLists.txt @@ -7,18 +7,17 @@ target_include_directories( PUBLIC $) set_target_properties(moveit_trajectory_execution_manager PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies( +target_link_libraries( moveit_trajectory_execution_manager - moveit_core - moveit_ros_occupancy_map_monitor - rclcpp - pluginlib - std_msgs - sensor_msgs - moveit_msgs - tf2_eigen) -target_link_libraries(moveit_trajectory_execution_manager - moveit_planning_scene_monitor) + moveit_planning_scene_monitor + moveit_core::moveit_core + moveit_ros_occupancy_map_monitor::moveit_ros_occupancy_map_monitor + rclcpp::rclcpp + pluginlib::pluginlib + ${std_msgs_TARGETS} + ${sensor_msgs_TARGETS} + ${moveit_msgs_TARGETS} + tf2_eigen::tf2_eigen) install(DIRECTORY include/ DESTINATION include/moveit_ros_planning) install( diff --git a/moveit_ros/planning_interface/CMakeLists.txt b/moveit_ros/planning_interface/CMakeLists.txt index 47470e0a76..352628e9f1 100644 --- a/moveit_ros/planning_interface/CMakeLists.txt +++ b/moveit_ros/planning_interface/CMakeLists.txt @@ -11,6 +11,7 @@ find_package(moveit_core REQUIRED) find_package(moveit_ros_planning REQUIRED) find_package(moveit_ros_warehouse REQUIRED) find_package(moveit_ros_move_group REQUIRED) +find_package(moveit_ros_occupancy_map_monitor REQUIRED) find_package(geometry_msgs REQUIRED) find_package(tf2 REQUIRED) find_package(tf2_eigen REQUIRED) @@ -36,6 +37,7 @@ set(THIS_PACKAGE_INCLUDE_DEPENDS moveit_ros_planning moveit_ros_warehouse moveit_ros_move_group + moveit_ros_occupancy_map_monitor tf2 tf2_eigen tf2_geometry_msgs @@ -74,8 +76,15 @@ if(BUILD_TESTING) endif() +# Create an umbrella INTERFACE target so downstream packages can use +# moveit_ros_planning_interface::moveit_ros_planning_interface to link all +# libraries at once. +add_library(moveit_ros_planning_interface INTERFACE) +target_link_libraries(moveit_ros_planning_interface + INTERFACE ${THIS_PACKAGE_LIBRARIES}) + install( - TARGETS ${THIS_PACKAGE_LIBRARIES} + TARGETS moveit_ros_planning_interface ${THIS_PACKAGE_LIBRARIES} EXPORT moveit_ros_planning_interfaceTargets LIBRARY DESTINATION lib ARCHIVE DESTINATION lib diff --git a/moveit_ros/planning_interface/common_planning_interface_objects/CMakeLists.txt b/moveit_ros/planning_interface/common_planning_interface_objects/CMakeLists.txt index eb8715926b..8473c56c5b 100644 --- a/moveit_ros/planning_interface/common_planning_interface_objects/CMakeLists.txt +++ b/moveit_ros/planning_interface/common_planning_interface_objects/CMakeLists.txt @@ -2,7 +2,7 @@ add_library(moveit_common_planning_interface_objects SHARED src/common_objects.cpp) set_target_properties(moveit_common_planning_interface_objects PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies(moveit_common_planning_interface_objects rclcpp - moveit_ros_planning tf2_ros) +target_link_libraries(moveit_common_planning_interface_objects rclcpp::rclcpp + moveit_ros_planning::moveit_ros_planning tf2_ros::tf2_ros) install(DIRECTORY include/ DESTINATION include/moveit_ros_planning_interface) diff --git a/moveit_ros/planning_interface/move_group_interface/CMakeLists.txt b/moveit_ros/planning_interface/move_group_interface/CMakeLists.txt index 04367e9a7b..2744c454fc 100644 --- a/moveit_ros/planning_interface/move_group_interface/CMakeLists.txt +++ b/moveit_ros/planning_interface/move_group_interface/CMakeLists.txt @@ -7,16 +7,16 @@ target_include_directories( set_target_properties(moveit_move_group_interface PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") target_link_libraries( - moveit_move_group_interface moveit_common_planning_interface_objects - moveit_planning_scene_interface ${Boost_THREAD_LIBRARY}) -ament_target_dependencies( moveit_move_group_interface - moveit_core - moveit_msgs - moveit_ros_move_group - moveit_ros_occupancy_map_monitor - moveit_ros_planning - moveit_ros_warehouse) + moveit_common_planning_interface_objects + moveit_planning_scene_interface + ${Boost_THREAD_LIBRARY} + moveit_core::moveit_core + ${moveit_msgs_TARGETS} + moveit_ros_move_group::moveit_ros_move_group + moveit_ros_occupancy_map_monitor::moveit_ros_occupancy_map_monitor + moveit_ros_planning::moveit_ros_planning + moveit_ros_warehouse::moveit_ros_warehouse) # TODO (ddengster) : port wrap_python_move_group # add_library(moveit_move_group_interface_python src/wrap_python_move_group.cpp) diff --git a/moveit_ros/planning_interface/planning_scene_interface/CMakeLists.txt b/moveit_ros/planning_interface/planning_scene_interface/CMakeLists.txt index 10264ea6d7..d9662c0da2 100644 --- a/moveit_ros/planning_interface/planning_scene_interface/CMakeLists.txt +++ b/moveit_ros/planning_interface/planning_scene_interface/CMakeLists.txt @@ -2,8 +2,9 @@ add_library(moveit_planning_scene_interface SHARED src/planning_scene_interface.cpp) set_target_properties(moveit_planning_scene_interface PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -ament_target_dependencies(moveit_planning_scene_interface moveit_msgs - moveit_core moveit_ros_move_group) +target_link_libraries( + moveit_planning_scene_interface ${moveit_msgs_TARGETS} + moveit_core::moveit_core moveit_ros_move_group::moveit_ros_move_group) # TODO(JafarAbdi): Support python wrapper # add_library(moveit_planning_scene_interface_python diff --git a/moveit_ros/robot_interaction/CMakeLists.txt b/moveit_ros/robot_interaction/CMakeLists.txt index c9140d2a4f..0439253389 100644 --- a/moveit_ros/robot_interaction/CMakeLists.txt +++ b/moveit_ros/robot_interaction/CMakeLists.txt @@ -32,8 +32,10 @@ target_include_directories( set_target_properties( moveit_robot_interaction PROPERTIES VERSION "${moveit_ros_robot_interaction_VERSION}") -ament_target_dependencies(moveit_robot_interaction - ${THIS_PACKAGE_INCLUDE_DEPENDS}) +target_link_libraries( + moveit_robot_interaction moveit_core::moveit_core + moveit_ros_planning::moveit_ros_planning + interactive_markers::interactive_markers ${tf2_geometry_msgs_TARGETS}) if(BUILD_TESTING) find_package(ament_cmake_gtest REQUIRED) @@ -41,8 +43,15 @@ if(BUILD_TESTING) target_link_libraries(locked_robot_state_test moveit_robot_interaction) endif() +# Create an umbrella INTERFACE target so downstream packages can use +# moveit_ros_robot_interaction::moveit_ros_robot_interaction to link all +# libraries at once. +add_library(moveit_ros_robot_interaction INTERFACE) +target_link_libraries(moveit_ros_robot_interaction + INTERFACE moveit_robot_interaction) + install( - TARGETS moveit_robot_interaction + TARGETS moveit_ros_robot_interaction moveit_robot_interaction EXPORT moveit_ros_robot_interactionTargets LIBRARY DESTINATION lib ARCHIVE DESTINATION lib diff --git a/moveit_ros/tests/CMakeLists.txt b/moveit_ros/tests/CMakeLists.txt index 4f9a83b7f3..af9be71c4f 100644 --- a/moveit_ros/tests/CMakeLists.txt +++ b/moveit_ros/tests/CMakeLists.txt @@ -13,7 +13,7 @@ if(BUILD_TESTING) include_directories(include) ament_add_gtest_executable(move_group_api_test src/move_group_api_test.cpp) - ament_target_dependencies(move_group_api_test rclcpp) + target_link_libraries(move_group_api_test rclcpp::rclcpp) add_ros_test(launch/move_group_api.test.py TIMEOUT 30 ARGS "test_binary_dir:=${CMAKE_CURRENT_BINARY_DIR}") endif() diff --git a/moveit_ros/trajectory_cache/CMakeLists.txt b/moveit_ros/trajectory_cache/CMakeLists.txt index 2b5459a6dc..9a9ba4f1f6 100644 --- a/moveit_ros/trajectory_cache/CMakeLists.txt +++ b/moveit_ros/trajectory_cache/CMakeLists.txt @@ -41,8 +41,16 @@ target_include_directories( moveit_ros_trajectory_cache_utils_lib PUBLIC $ $) -ament_target_dependencies(moveit_ros_trajectory_cache_utils_lib - ${TRAJECTORY_CACHE_DEPENDENCIES}) +target_link_libraries( + moveit_ros_trajectory_cache_utils_lib + ${geometry_msgs_TARGETS} + moveit_ros_planning_interface::moveit_ros_planning_interface + moveit_ros_warehouse::moveit_ros_warehouse + rclcpp::rclcpp + tf2::tf2 + tf2_ros::tf2_ros + ${trajectory_msgs_TARGETS} + warehouse_ros::warehouse_ros) # Features library add_library( @@ -50,14 +58,21 @@ add_library( src/features/motion_plan_request_features.cpp src/features/get_cartesian_path_request_features.cpp) generate_export_header(moveit_ros_trajectory_cache_features_lib) -target_link_libraries(moveit_ros_trajectory_cache_features_lib - moveit_ros_trajectory_cache_utils_lib) +target_link_libraries( + moveit_ros_trajectory_cache_features_lib + moveit_ros_trajectory_cache_utils_lib + ${geometry_msgs_TARGETS} + moveit_ros_planning_interface::moveit_ros_planning_interface + moveit_ros_warehouse::moveit_ros_warehouse + rclcpp::rclcpp + tf2::tf2 + tf2_ros::tf2_ros + ${trajectory_msgs_TARGETS} + warehouse_ros::warehouse_ros) target_include_directories( moveit_ros_trajectory_cache_features_lib PUBLIC $ $) -ament_target_dependencies(moveit_ros_trajectory_cache_features_lib - ${TRAJECTORY_CACHE_DEPENDENCIES}) # Cache insert policies library add_library( @@ -68,13 +83,19 @@ generate_export_header(moveit_ros_trajectory_cache_cache_insert_policies_lib) target_link_libraries( moveit_ros_trajectory_cache_cache_insert_policies_lib moveit_ros_trajectory_cache_features_lib - moveit_ros_trajectory_cache_utils_lib) + moveit_ros_trajectory_cache_utils_lib + ${geometry_msgs_TARGETS} + moveit_ros_planning_interface::moveit_ros_planning_interface + moveit_ros_warehouse::moveit_ros_warehouse + rclcpp::rclcpp + tf2::tf2 + tf2_ros::tf2_ros + ${trajectory_msgs_TARGETS} + warehouse_ros::warehouse_ros) target_include_directories( moveit_ros_trajectory_cache_cache_insert_policies_lib PUBLIC $ $) -ament_target_dependencies(moveit_ros_trajectory_cache_cache_insert_policies_lib - ${TRAJECTORY_CACHE_DEPENDENCIES}) # Trajectory cache library add_library(moveit_ros_trajectory_cache_lib SHARED src/trajectory_cache.cpp) @@ -83,16 +104,29 @@ target_link_libraries( moveit_ros_trajectory_cache_lib moveit_ros_trajectory_cache_cache_insert_policies_lib moveit_ros_trajectory_cache_features_lib - moveit_ros_trajectory_cache_utils_lib) + moveit_ros_trajectory_cache_utils_lib + ${geometry_msgs_TARGETS} + moveit_ros_planning_interface::moveit_ros_planning_interface + moveit_ros_warehouse::moveit_ros_warehouse + rclcpp::rclcpp + tf2::tf2 + tf2_ros::tf2_ros + ${trajectory_msgs_TARGETS} + warehouse_ros::warehouse_ros) target_include_directories( moveit_ros_trajectory_cache_lib PUBLIC $ $) -ament_target_dependencies(moveit_ros_trajectory_cache_lib - ${TRAJECTORY_CACHE_DEPENDENCIES}) + +# Create an umbrella INTERFACE target so downstream packages can use +# moveit_ros_trajectory_cache::moveit_ros_trajectory_cache to link all libraries +# at once. +add_library(moveit_ros_trajectory_cache INTERFACE) +target_link_libraries(moveit_ros_trajectory_cache + INTERFACE ${TRAJECTORY_CACHE_LIBRARIES}) install( - TARGETS ${TRAJECTORY_CACHE_LIBRARIES} + TARGETS moveit_ros_trajectory_cache ${TRAJECTORY_CACHE_LIBRARIES} EXPORT moveit_ros_trajectory_cacheTargets LIBRARY DESTINATION lib ARCHIVE DESTINATION lib diff --git a/moveit_ros/trajectory_cache/test/CMakeLists.txt b/moveit_ros/trajectory_cache/test/CMakeLists.txt index ae39a79c46..c259b6bf16 100644 --- a/moveit_ros/trajectory_cache/test/CMakeLists.txt +++ b/moveit_ros/trajectory_cache/test/CMakeLists.txt @@ -9,14 +9,32 @@ if(BUILD_TESTING) add_library(warehouse_fixture SHARED fixtures/warehouse_fixture.cpp) target_include_directories( warehouse_fixture PUBLIC $) - ament_target_dependencies(warehouse_fixture ${TRAJECTORY_CACHE_DEPENDENCIES} - ament_cmake_gtest warehouse_ros_sqlite) + target_link_libraries( + warehouse_fixture + ${geometry_msgs_TARGETS} + moveit_ros_planning_interface::moveit_ros_planning_interface + moveit_ros_warehouse::moveit_ros_warehouse + rclcpp::rclcpp + tf2::tf2 + tf2_ros::tf2_ros + ${trajectory_msgs_TARGETS} + warehouse_ros::warehouse_ros + warehouse_ros_sqlite::warehouse_ros_sqlite) add_library(move_group_fixture SHARED fixtures/move_group_fixture.cpp) target_include_directories( move_group_fixture PUBLIC $) - ament_target_dependencies(move_group_fixture ${TRAJECTORY_CACHE_DEPENDENCIES} - ament_cmake_gtest warehouse_ros_sqlite) + target_link_libraries( + move_group_fixture + ${geometry_msgs_TARGETS} + moveit_ros_planning_interface::moveit_ros_planning_interface + moveit_ros_warehouse::moveit_ros_warehouse + rclcpp::rclcpp + tf2::tf2 + tf2_ros::tf2_ros + ${trajectory_msgs_TARGETS} + warehouse_ros::warehouse_ros + warehouse_ros_sqlite::warehouse_ros_sqlite) # Test utils library. ament_add_gtest(test_utils utils/test_utils.cpp) diff --git a/moveit_ros/visualization/CMakeLists.txt b/moveit_ros/visualization/CMakeLists.txt index ae4a81393c..430e47e144 100644 --- a/moveit_ros/visualization/CMakeLists.txt +++ b/moveit_ros/visualization/CMakeLists.txt @@ -113,8 +113,15 @@ pluginlib_export_plugin_description_file( pluginlib_export_plugin_description_file( rviz_common robot_state_rviz_plugin_description.xml) +# Create an umbrella INTERFACE target so downstream packages can use +# moveit_ros_visualization::moveit_ros_visualization to link all libraries at +# once. +add_library(moveit_ros_visualization INTERFACE) +target_link_libraries(moveit_ros_visualization + INTERFACE ${THIS_PACKAGE_LIBRARIES}) + install( - TARGETS ${THIS_PACKAGE_LIBRARIES} + TARGETS moveit_ros_visualization ${THIS_PACKAGE_LIBRARIES} EXPORT moveit_ros_visualizationTargets LIBRARY DESTINATION lib ARCHIVE DESTINATION lib diff --git a/moveit_ros/visualization/motion_planning_rviz_plugin/CMakeLists.txt b/moveit_ros/visualization/motion_planning_rviz_plugin/CMakeLists.txt index 0df09a2369..38f22ae207 100644 --- a/moveit_ros/visualization/motion_planning_rviz_plugin/CMakeLists.txt +++ b/moveit_ros/visualization/motion_planning_rviz_plugin/CMakeLists.txt @@ -29,28 +29,30 @@ add_library(moveit_motion_planning_rviz_plugin_core SHARED set_target_properties(moveit_motion_planning_rviz_plugin_core PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") target_link_libraries( - moveit_motion_planning_rviz_plugin_core moveit_rviz_plugin_render_tools - moveit_planning_scene_rviz_plugin) -ament_target_dependencies( moveit_motion_planning_rviz_plugin_core - moveit_ros_robot_interaction - moveit_ros_planning_interface - moveit_ros_warehouse - rviz2 - rviz_ogre_vendor - ${QT_VERSION_NAME} - pluginlib) + moveit_rviz_plugin_render_tools + moveit_planning_scene_rviz_plugin + moveit_ros_robot_interaction::moveit_ros_robot_interaction + moveit_ros_planning_interface::moveit_ros_planning_interface + moveit_ros_warehouse::moveit_ros_warehouse + rviz_ogre_vendor::OgreMain + rviz_ogre_vendor::OgreOverlay + ${QT_LIBRARIES} + pluginlib::pluginlib) target_include_directories(moveit_motion_planning_rviz_plugin_core PRIVATE "${OGRE_PREFIX_DIR}/include") add_library(moveit_motion_planning_rviz_plugin SHARED src/plugin_init.cpp) set_target_properties(moveit_motion_planning_rviz_plugin PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -target_link_libraries(moveit_motion_planning_rviz_plugin - moveit_motion_planning_rviz_plugin_core) -ament_target_dependencies( - moveit_motion_planning_rviz_plugin moveit_ros_robot_interaction - moveit_ros_warehouse pluginlib rviz_ogre_vendor) +target_link_libraries( + moveit_motion_planning_rviz_plugin + moveit_motion_planning_rviz_plugin_core + moveit_ros_robot_interaction::moveit_ros_robot_interaction + moveit_ros_warehouse::moveit_ros_warehouse + pluginlib::pluginlib + rviz_ogre_vendor::OgreMain + rviz_ogre_vendor::OgreOverlay) target_include_directories(moveit_motion_planning_rviz_plugin PRIVATE "${OGRE_PREFIX_DIR}/include") diff --git a/moveit_ros/visualization/planning_scene_rviz_plugin/CMakeLists.txt b/moveit_ros/visualization/planning_scene_rviz_plugin/CMakeLists.txt index 743997339f..fdb3e8dffd 100644 --- a/moveit_ros/visualization/planning_scene_rviz_plugin/CMakeLists.txt +++ b/moveit_ros/visualization/planning_scene_rviz_plugin/CMakeLists.txt @@ -9,27 +9,26 @@ target_include_directories( PUBLIC $) set_target_properties(moveit_planning_scene_rviz_plugin_core PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -target_link_libraries(moveit_planning_scene_rviz_plugin_core - moveit_rviz_plugin_render_tools) -ament_target_dependencies( +target_link_libraries( moveit_planning_scene_rviz_plugin_core - rclcpp - rviz2 - moveit_ros_planning_interface - moveit_ros_planning - moveit_msgs - pluginlib - rviz_ogre_vendor) + moveit_rviz_plugin_render_tools + rclcpp::rclcpp + moveit_ros_planning_interface::moveit_ros_planning_interface + moveit_ros_planning::moveit_ros_planning + ${moveit_msgs_TARGETS} + pluginlib::pluginlib + rviz_ogre_vendor::OgreMain + rviz_ogre_vendor::OgreOverlay) target_include_directories(moveit_planning_scene_rviz_plugin_core PRIVATE "${OGRE_PREFIX_DIR}/include") add_library(moveit_planning_scene_rviz_plugin SHARED src/plugin_init.cpp) set_target_properties(moveit_planning_scene_rviz_plugin PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -target_link_libraries(moveit_planning_scene_rviz_plugin - moveit_planning_scene_rviz_plugin_core ${QT_LIBRARIES}) -ament_target_dependencies(moveit_planning_scene_rviz_plugin pluginlib - rviz_ogre_vendor) +target_link_libraries( + moveit_planning_scene_rviz_plugin moveit_planning_scene_rviz_plugin_core + ${QT_LIBRARIES} pluginlib::pluginlib rviz_ogre_vendor::OgreMain + rviz_ogre_vendor::OgreOverlay) target_include_directories(moveit_planning_scene_rviz_plugin PRIVATE "${OGRE_PREFIX_DIR}/include") diff --git a/moveit_ros/visualization/robot_state_rviz_plugin/CMakeLists.txt b/moveit_ros/visualization/robot_state_rviz_plugin/CMakeLists.txt index f9bd7f4c8b..98d5ae1d62 100644 --- a/moveit_ros/visualization/robot_state_rviz_plugin/CMakeLists.txt +++ b/moveit_ros/visualization/robot_state_rviz_plugin/CMakeLists.txt @@ -4,27 +4,30 @@ add_library( include/moveit/robot_state_rviz_plugin/robot_state_display.hpp) set_target_properties(moveit_robot_state_rviz_plugin_core PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -target_link_libraries(moveit_robot_state_rviz_plugin_core - moveit_rviz_plugin_render_tools) -ament_target_dependencies( +target_link_libraries( moveit_robot_state_rviz_plugin_core - rclcpp - rviz2 - moveit_ros_planning - moveit_msgs - pluginlib - Boost - rviz_ogre_vendor) + moveit_rviz_plugin_render_tools + rclcpp::rclcpp + moveit_ros_planning::moveit_ros_planning + ${moveit_msgs_TARGETS} + pluginlib::pluginlib + Boost::headers + rviz_ogre_vendor::OgreMain + rviz_ogre_vendor::OgreOverlay) target_include_directories(moveit_robot_state_rviz_plugin_core PRIVATE "${OGRE_PREFIX_DIR}/include") add_library(moveit_robot_state_rviz_plugin SHARED src/plugin_init.cpp) set_target_properties(moveit_robot_state_rviz_plugin PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -target_link_libraries(moveit_robot_state_rviz_plugin - moveit_robot_state_rviz_plugin_core) -ament_target_dependencies(moveit_robot_state_rviz_plugin rclcpp pluginlib Boost - rviz_ogre_vendor) +target_link_libraries( + moveit_robot_state_rviz_plugin + moveit_robot_state_rviz_plugin_core + rclcpp::rclcpp + pluginlib::pluginlib + Boost::headers + rviz_ogre_vendor::OgreMain + rviz_ogre_vendor::OgreOverlay) target_include_directories(moveit_robot_state_rviz_plugin PRIVATE "${OGRE_PREFIX_DIR}/include") diff --git a/moveit_ros/visualization/rviz_plugin_render_tools/CMakeLists.txt b/moveit_ros/visualization/rviz_plugin_render_tools/CMakeLists.txt index 0e392a7c95..b4b1dbd023 100644 --- a/moveit_ros/visualization/rviz_plugin_render_tools/CMakeLists.txt +++ b/moveit_ros/visualization/rviz_plugin_render_tools/CMakeLists.txt @@ -24,17 +24,17 @@ add_library( set_target_properties(moveit_rviz_plugin_render_tools PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -target_link_libraries(moveit_rviz_plugin_render_tools ${QT_LIBRARIES}) - -ament_target_dependencies( +target_link_libraries( moveit_rviz_plugin_render_tools - rclcpp - moveit_core - Boost - octomap_msgs - rviz_ogre_vendor - rviz_common - rviz_default_plugins) + ${QT_LIBRARIES} + rclcpp::rclcpp + moveit_core::moveit_core + Boost::headers + ${octomap_msgs_TARGETS} + rviz_ogre_vendor::OgreMain + rviz_ogre_vendor::OgreOverlay + rviz_common::rviz_common + rviz_default_plugins::rviz_default_plugins) target_include_directories(moveit_rviz_plugin_render_tools PRIVATE "${OGRE_PREFIX_DIR}/include") diff --git a/moveit_ros/visualization/trajectory_rviz_plugin/CMakeLists.txt b/moveit_ros/visualization/trajectory_rviz_plugin/CMakeLists.txt index 8a58e56eba..711637fa3c 100644 --- a/moveit_ros/visualization/trajectory_rviz_plugin/CMakeLists.txt +++ b/moveit_ros/visualization/trajectory_rviz_plugin/CMakeLists.txt @@ -9,17 +9,16 @@ add_library(moveit_trajectory_rviz_plugin_core SHARED src/trajectory_display.cpp set_target_properties(moveit_trajectory_rviz_plugin_core PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") target_link_libraries( - moveit_trajectory_rviz_plugin_core moveit_rviz_plugin_render_tools - moveit_planning_scene_rviz_plugin_core rviz_ogre_vendor::OgreMain) - -ament_target_dependencies( moveit_trajectory_rviz_plugin_core - rclcpp - rviz2 - moveit_msgs - pluginlib - Boost - rviz_ogre_vendor) + moveit_rviz_plugin_render_tools + moveit_planning_scene_rviz_plugin_core + rviz_ogre_vendor::OgreMain + rclcpp::rclcpp + ${moveit_msgs_TARGETS} + pluginlib::pluginlib + Boost::headers + rviz_ogre_vendor::OgreMain + rviz_ogre_vendor::OgreOverlay) target_include_directories(moveit_trajectory_rviz_plugin_core PRIVATE "${OGRE_PREFIX_DIR}/include") @@ -27,10 +26,14 @@ target_include_directories(moveit_trajectory_rviz_plugin_core add_library(moveit_trajectory_rviz_plugin SHARED src/plugin_init.cpp) set_target_properties(moveit_trajectory_rviz_plugin PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -target_link_libraries(moveit_trajectory_rviz_plugin - moveit_trajectory_rviz_plugin_core) -ament_target_dependencies(moveit_trajectory_rviz_plugin rclcpp pluginlib Boost - rviz_ogre_vendor) +target_link_libraries( + moveit_trajectory_rviz_plugin + moveit_trajectory_rviz_plugin_core + rclcpp::rclcpp + pluginlib::pluginlib + Boost::headers + rviz_ogre_vendor::OgreMain + rviz_ogre_vendor::OgreOverlay) target_include_directories(moveit_trajectory_rviz_plugin PRIVATE "${OGRE_PREFIX_DIR}/include") diff --git a/moveit_ros/warehouse/CMakeLists.txt b/moveit_ros/warehouse/CMakeLists.txt index e68e1d866b..ccec47e0bf 100644 --- a/moveit_ros/warehouse/CMakeLists.txt +++ b/moveit_ros/warehouse/CMakeLists.txt @@ -45,37 +45,39 @@ target_include_directories( moveit_warehouse PUBLIC $) set_target_properties(moveit_warehouse PROPERTIES VERSION "${moveit_ros_warehouse_VERSION}") -ament_target_dependencies(moveit_warehouse ${THIS_PACKAGE_INCLUDE_DEPENDS}) +target_link_libraries( + moveit_warehouse + fmt::fmt + Boost::headers + moveit_core::moveit_core + rclcpp::rclcpp + warehouse_ros::warehouse_ros + moveit_ros_planning::moveit_ros_planning + tf2_eigen::tf2_eigen + tf2_ros::tf2_ros) # Executables add_executable(moveit_warehouse_broadcast src/broadcast.cpp) -ament_target_dependencies(moveit_warehouse_broadcast - ${THIS_PACKAGE_INCLUDE_DEPENDS}) -target_link_libraries(moveit_warehouse_broadcast moveit_warehouse) +target_link_libraries(moveit_warehouse_broadcast moveit_warehouse + Boost::program_options) add_executable(moveit_save_to_warehouse src/save_to_warehouse.cpp) -ament_target_dependencies(moveit_save_to_warehouse - ${THIS_PACKAGE_INCLUDE_DEPENDS}) -target_link_libraries(moveit_save_to_warehouse moveit_warehouse fmt::fmt) +target_link_libraries(moveit_save_to_warehouse moveit_warehouse fmt::fmt + Boost::program_options) add_executable(moveit_warehouse_import_from_text src/import_from_text.cpp) -ament_target_dependencies(moveit_warehouse_import_from_text - ${THIS_PACKAGE_INCLUDE_DEPENDS}) -target_link_libraries(moveit_warehouse_import_from_text moveit_warehouse) +target_link_libraries(moveit_warehouse_import_from_text moveit_warehouse + Boost::program_options) add_executable(moveit_warehouse_save_as_text src/save_as_text.cpp) -ament_target_dependencies(moveit_warehouse_save_as_text - ${THIS_PACKAGE_INCLUDE_DEPENDS}) -target_link_libraries(moveit_warehouse_save_as_text moveit_warehouse) +target_link_libraries(moveit_warehouse_save_as_text moveit_warehouse + Boost::program_options) add_executable(moveit_init_demo_warehouse src/initialize_demo_db.cpp) -ament_target_dependencies(moveit_init_demo_warehouse - ${THIS_PACKAGE_INCLUDE_DEPENDS}) -target_link_libraries(moveit_init_demo_warehouse moveit_warehouse) +target_link_libraries(moveit_init_demo_warehouse moveit_warehouse + Boost::program_options) add_executable(moveit_warehouse_services src/warehouse_services.cpp) -ament_target_dependencies(moveit_warehouse_services - ${THIS_PACKAGE_INCLUDE_DEPENDS}) target_link_libraries(moveit_warehouse_services moveit_warehouse) install( @@ -87,8 +89,13 @@ install(DIRECTORY include/ DESTINATION include/moveit_ros_warehouse) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/moveit_warehouse_export.h DESTINATION include/moveit_ros_warehouse) +# Create an umbrella INTERFACE target so downstream packages can use +# moveit_ros_warehouse::moveit_ros_warehouse to link all libraries at once. +add_library(moveit_ros_warehouse INTERFACE) +target_link_libraries(moveit_ros_warehouse INTERFACE moveit_warehouse) + install( - TARGETS moveit_warehouse + TARGETS moveit_ros_warehouse moveit_warehouse EXPORT moveit_ros_warehouseTargets LIBRARY DESTINATION lib ARCHIVE DESTINATION lib diff --git a/moveit_setup_assistant/moveit_setup_app_plugins/CMakeLists.txt b/moveit_setup_assistant/moveit_setup_app_plugins/CMakeLists.txt index ce013e59d9..1d268e888c 100644 --- a/moveit_setup_assistant/moveit_setup_app_plugins/CMakeLists.txt +++ b/moveit_setup_assistant/moveit_setup_app_plugins/CMakeLists.txt @@ -43,9 +43,13 @@ target_include_directories( moveit_setup_app_plugins PUBLIC $ $) -ament_target_dependencies( - moveit_setup_app_plugins ament_index_cpp moveit_ros_visualization - moveit_setup_framework pluginlib rclcpp) +target_link_libraries( + moveit_setup_app_plugins + ament_index_cpp::ament_index_cpp + moveit_ros_visualization::moveit_ros_visualization + moveit_setup_framework::moveit_setup_framework + pluginlib::pluginlib + rclcpp::rclcpp) if(BUILD_TESTING) find_package(ament_cmake_gtest REQUIRED) diff --git a/moveit_setup_assistant/moveit_setup_assistant/CMakeLists.txt b/moveit_setup_assistant/moveit_setup_assistant/CMakeLists.txt index a6d6250429..9bf63104b8 100644 --- a/moveit_setup_assistant/moveit_setup_assistant/CMakeLists.txt +++ b/moveit_setup_assistant/moveit_setup_assistant/CMakeLists.txt @@ -26,14 +26,8 @@ find_package(moveit_setup_srdf_plugins REQUIRED) find_package(pluginlib REQUIRED) find_package(rclcpp REQUIRED) -set(THIS_PACKAGE_INCLUDE_DEPENDS - ament_index_cpp - moveit_setup_framework - moveit_setup_srdf_plugins - pluginlib - Qt${QT_VERSION_MAJOR}Core - Qt${QT_VERSION_MAJOR}Widgets - rclcpp) +set(THIS_PACKAGE_INCLUDE_DEPENDS ament_index_cpp moveit_setup_framework + moveit_setup_srdf_plugins pluginlib rclcpp) # Header files that need Qt Moc pre-processing for use with Qt signals, etc: set(HEADERS include/moveit_setup_assistant/navigation_widget.hpp @@ -49,9 +43,16 @@ target_include_directories( moveit_setup_assistant PUBLIC $ $) -ament_target_dependencies(moveit_setup_assistant - ${THIS_PACKAGE_INCLUDE_DEPENDS}) -target_link_libraries(moveit_setup_assistant ${Boost_LIBRARIES}) +target_link_libraries( + moveit_setup_assistant + ${Boost_LIBRARIES} + ament_index_cpp::ament_index_cpp + moveit_setup_framework::moveit_setup_framework + moveit_setup_srdf_plugins::moveit_setup_srdf_plugins + pluginlib::pluginlib + ${QT_CORE} + ${QT_WIDGETS} + rclcpp::rclcpp) add_executable(moveit_setup_assistant_updater src/collisions_updater.cpp) target_include_directories( @@ -59,9 +60,16 @@ target_include_directories( PUBLIC $ $) -ament_target_dependencies(moveit_setup_assistant_updater - ${THIS_PACKAGE_INCLUDE_DEPENDS}) -target_link_libraries(moveit_setup_assistant_updater ${Boost_LIBRARIES}) +target_link_libraries( + moveit_setup_assistant_updater + ${Boost_LIBRARIES} + ament_index_cpp::ament_index_cpp + moveit_setup_framework::moveit_setup_framework + moveit_setup_srdf_plugins::moveit_setup_srdf_plugins + pluginlib::pluginlib + ${QT_CORE} + ${QT_WIDGETS} + rclcpp::rclcpp) set_target_properties(moveit_setup_assistant_updater PROPERTIES OUTPUT_NAME collisions_updater PREFIX "") diff --git a/moveit_setup_assistant/moveit_setup_controllers/CMakeLists.txt b/moveit_setup_assistant/moveit_setup_controllers/CMakeLists.txt index 402a52ad9b..324423504c 100644 --- a/moveit_setup_assistant/moveit_setup_controllers/CMakeLists.txt +++ b/moveit_setup_assistant/moveit_setup_controllers/CMakeLists.txt @@ -49,8 +49,10 @@ target_include_directories( moveit_setup_controllers PUBLIC $ $) -ament_target_dependencies(moveit_setup_controllers ament_index_cpp - moveit_setup_framework pluginlib rclcpp) +target_link_libraries( + moveit_setup_controllers ament_index_cpp::ament_index_cpp + moveit_setup_framework::moveit_setup_framework pluginlib::pluginlib + rclcpp::rclcpp) if(BUILD_TESTING) find_package(ament_cmake_gtest REQUIRED) diff --git a/moveit_setup_assistant/moveit_setup_core_plugins/CMakeLists.txt b/moveit_setup_assistant/moveit_setup_core_plugins/CMakeLists.txt index 3d26d03f58..1dff23e7f4 100644 --- a/moveit_setup_assistant/moveit_setup_core_plugins/CMakeLists.txt +++ b/moveit_setup_assistant/moveit_setup_core_plugins/CMakeLists.txt @@ -45,15 +45,15 @@ add_library( target_include_directories( ${PROJECT_NAME} PUBLIC $ $) -ament_target_dependencies( +target_link_libraries( ${PROJECT_NAME} - ament_index_cpp - moveit_ros_visualization - moveit_setup_framework - pluginlib - rclcpp - srdfdom - urdf) + ament_index_cpp::ament_index_cpp + moveit_ros_visualization::moveit_ros_visualization + moveit_setup_framework::moveit_setup_framework + pluginlib::pluginlib + rclcpp::rclcpp + srdfdom::srdfdom + urdf::urdf) install( TARGETS moveit_setup_core_plugins diff --git a/moveit_setup_assistant/moveit_setup_framework/CMakeLists.txt b/moveit_setup_assistant/moveit_setup_framework/CMakeLists.txt index 3230d13cad..52e6027e16 100644 --- a/moveit_setup_assistant/moveit_setup_framework/CMakeLists.txt +++ b/moveit_setup_assistant/moveit_setup_framework/CMakeLists.txt @@ -23,6 +23,12 @@ else() endif() find_package(moveit_core REQUIRED) find_package(moveit_ros_planning REQUIRED) +# Find Qt before packages that transitively depend on it (rviz, visualization) +find_package(Qt6 QUIET COMPONENTS Core Widgets) +if(NOT Qt6_FOUND) + find_package(Qt5Core REQUIRED) + find_package(Qt5Widgets REQUIRED) +endif() find_package(moveit_ros_visualization REQUIRED) find_package(pluginlib REQUIRED) find_package(rclcpp REQUIRED) @@ -54,20 +60,21 @@ target_include_directories( moveit_setup_framework PUBLIC $ $) -ament_target_dependencies( +target_link_libraries( moveit_setup_framework - ament_index_cpp - moveit_core - moveit_ros_planning - moveit_ros_visualization - pluginlib - Qt${QT_VERSION_MAJOR}Core - Qt${QT_VERSION_MAJOR}Widgets - rclcpp - rviz_common - rviz_rendering - srdfdom - urdf) + PUBLIC ament_index_cpp::ament_index_cpp + fmt::fmt + moveit_core::moveit_core + moveit_ros_planning::moveit_ros_planning + moveit_ros_visualization::moveit_ros_visualization + pluginlib::pluginlib + ${QT_CORE} + ${QT_WIDGETS} + rclcpp::rclcpp + rviz_common::rviz_common + rviz_rendering::rviz_rendering + srdfdom::srdfdom + urdf::urdf) install(DIRECTORY include/ DESTINATION include/moveit_setup_framework) install(FILES moveit_setup_framework_plugins.xml diff --git a/moveit_setup_assistant/moveit_setup_simulation/CMakeLists.txt b/moveit_setup_assistant/moveit_setup_simulation/CMakeLists.txt index 300b340287..f913a7243b 100644 --- a/moveit_setup_assistant/moveit_setup_simulation/CMakeLists.txt +++ b/moveit_setup_assistant/moveit_setup_simulation/CMakeLists.txt @@ -35,8 +35,10 @@ target_include_directories( moveit_setup_simulation PUBLIC $ $) -ament_target_dependencies(moveit_setup_simulation ament_index_cpp - moveit_setup_framework pluginlib rclcpp) +target_link_libraries( + moveit_setup_simulation ament_index_cpp::ament_index_cpp + moveit_setup_framework::moveit_setup_framework pluginlib::pluginlib + rclcpp::rclcpp) install(DIRECTORY templates DESTINATION share/moveit_setup_simulation) diff --git a/moveit_setup_assistant/moveit_setup_srdf_plugins/CMakeLists.txt b/moveit_setup_assistant/moveit_setup_srdf_plugins/CMakeLists.txt index 70290267ac..72e3adbb21 100644 --- a/moveit_setup_assistant/moveit_setup_srdf_plugins/CMakeLists.txt +++ b/moveit_setup_assistant/moveit_setup_srdf_plugins/CMakeLists.txt @@ -60,8 +60,9 @@ target_include_directories( moveit_setup_srdf_plugins PUBLIC $ $) -ament_target_dependencies(moveit_setup_srdf_plugins moveit_setup_framework - pluginlib) +target_link_libraries( + moveit_setup_srdf_plugins moveit_setup_framework::moveit_setup_framework + pluginlib::pluginlib) if(BUILD_TESTING) find_package(ament_cmake_gtest REQUIRED)