Skip to content

Remove use of ament_target_dependencies: Take 2#3726

Open
nbbrooks wants to merge 4 commits into
moveit:mainfrom
nbbrooks:pr-remove-ament-target-dependencies
Open

Remove use of ament_target_dependencies: Take 2#3726
nbbrooks wants to merge 4 commits into
moveit:mainfrom
nbbrooks:pr-remove-ament-target-dependencies

Conversation

@nbbrooks
Copy link
Copy Markdown
Contributor

Description

Address removal of ament_target_dependencies in ament/ament_cmake#614

Continuation of #3708

Checklist

  • Required by CI: Code is auto formatted using clang-format
  • Extend the tutorials / documentation reference
  • Document API changes relevant to the user in the MIGRATION.md notes
  • Create tests, which fail without this PR reference
  • Include a screenshot if changing a GUI
  • While waiting for someone to review your request, please help review another open pull request to support the maintainers

@nbbrooks nbbrooks force-pushed the pr-remove-ament-target-dependencies branch from fe0fc9d to ec8da76 Compare May 18, 2026 04:30
The previous ament_target_dependencies(... Boost ...) calls implicitly
linked every Boost component found by ConfigExtras.cmake
(chrono date_time filesystem iostreams program_options regex
serialization system thread). Replacing them with
target_link_libraries(... Boost::headers) dropped those compiled
components, breaking the link step on humble for any TU that uses
non-header-only Boost. Add the specific components each target needs:

- moveit_test_utils: + Boost::regex
  (robot_model_test_utils.cpp uses boost::split_regex / boost::regex)
- moveit_ompl_interface: + Boost::serialization
  (detail/constraints_library.hpp uses boost::serialization::map)
- moveit_ros_benchmarks: + Boost::filesystem + Boost::regex
  (BenchmarkExecutor.cpp uses both)

Also drop the random_numbers::random_numbers imported target in
moveit_kdl_kinematics_plugin -- that target was only added upstream in
moveit/random_numbers#47 (merged 2025-05-27, "[kilted]"), so it doesn't
exist on jazzy or humble and the CMake configure step fails there. Use
the variable form \${random_numbers_LIBRARIES} with a matching
target_include_directories so the build works across all supported
distros.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant