Skip to content

Remove ament_cmake_ros dependency#226

Open
nvcyc wants to merge 1 commit intoros:rollingfrom
nvcyc:rolling-native-buffer
Open

Remove ament_cmake_ros dependency#226
nvcyc wants to merge 1 commit intoros:rollingfrom
nvcyc:rolling-native-buffer

Conversation

@nvcyc
Copy link

@nvcyc nvcyc commented Mar 17, 2026

The dependent ament_cmake_ros package transitively pulls in RMW-layer packages which is unnecessarily heavy to class_loader that is supposed to be an independent plugin loading library.

This PR removes the ament_cmake_ros dependency and replaces with a plain ament_cmake with an explicit SHARED library type to keep the dependency minimal.

As a side note, this fix is also required when introducing the rosidl::Buffer feature to the RMW layer where pluginlib will be used to load buffer backends.

Without this fix, the following circular dependency will be formed:
class_loader -> ament_cmake_ros -> rmw_test_fixture_implementation -> ... -> rmw_fastrtps_cpp -> rosidl_buffer_backend_registry -> pluginlib -> class_loader

The dependent ament_cmake_ros package transitively pulls in RMW-layer packages which is unnecessarily heavy to class_loader that is supposed to be an independent plugin loading library. This commit removes the ament_cmake_ros dependency and replaces with a plain ament_cmake with an explicit SHARED library type to keep the dependency minimal.

Signed-off-by: CY Chen <cyc@nvidia.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