Why does rmw_implementation have a build dependency on certain middleware packages?
I notice in rmw_implementation package.xml, there are build dependencies for certain middleware implementation packages. I thought the point of build_depends was only to list the packages that must be around for a package to be built, so rosdep
can install them or colcon
can build in topological order.
"Bloom does not support group_depend so entries below duplicate the group rmw_implementation_packages. This ensures that binary packages have support for all of these rmw impl. enabled"
The comment there mentions that these dependencies are needed for Bloom. How so? What happens in Bloom if these packages are not listed as build dependencies? Why doesn't Bloom need build references to other available RMW packages (e.g. rmw_fastrtps_dynamic_cpp
and rmw_coredds_cpp
)?
Comments from the PR that added those lines: ros2/rmw_implementation#41: here.
Thanks, @gvdhoorn. I saw that discussion already but it just left me scratching my head.
Yeah. It wasn't meant as an answer. Just some additional context.