ros / rosdistro

This repo maintains a lists of repositories for each ROS distribution

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Support component-level keys for boost

Ryanf55 opened this issue · comments

commented

If my interpretation of the ROS style guide is correct, a ROS developer should try to reduce their usage of boost to the minimum. Luckily, boost provides a COMPONENT level find and install. This has the advantage of requiring less boost to be installed on the system, and less linked in.

For example:

find_package(Boost COMPONENTS program_options REQUIRED)
...
target_link_libraries(myLibrary PUBLIC boost::program_options)

Ideally, in my package.xml, I could specify only needing the program options component of boost list so:

<depend>boost-program-options</depend>

Which would install libboost-program-options-dev.

If this method of installing dependencies is desirable and would be accepted into rosdep, please let me know.

So we already have these kinds of keys in rosdep:

rosdistro/rosdep/base.yaml

Lines 2648 to 2670 in 935070e

libboost-program-options:
debian:
bullseye: [libboost-program-options1.74.0]
buster: [libboost-program-options1.67.0]
fedora: [boost-program-options]
gentoo: [dev-libs/boost]
nixos: [boost]
openembedded: [boost@openembedded-core]
opensuse: [libboost_program_options1_66_0]
rhel: [boost-program-options]
ubuntu:
bionic: [libboost-program-options1.65.1]
focal: [libboost-program-options1.71.0]
jammy: [libboost-program-options1.74.0]
libboost-program-options-dev:
debian: [libboost-program-options-dev]
fedora: [boost-devel]
gentoo: [dev-libs/boost]
nixos: [boost]
openembedded: [boost@openembedded-core]
opensuse: [libboost_program_options1_66_0-devel]
rhel: [boost-devel]
ubuntu: [libboost-program-options-dev]
. Did you mean something else?

commented

Some of them are missing, I'll contribute the ones I need matching the existing pattern.