Yes, using the COMPONENTS
keyword when finding catkin to enumerate additional packages has several drawbacks and was therefore not provided in ament_cmake
.
To maintain a similar level of convenience as in catkin
you can call ament_target_dependencies(…) after finding all packages separately. The function will do the “heavy lifting” for you and “use” all common variables from the package names you pass for the passed target name.
It does exactly what you described - it builds only the single one package. It does not build any other packages. You should use build
for that. build_pkg
should commonIy not be used by users.
ROS 2 uses rosdep
the same as ROS 1 does.