Boost logo

Boost :

From: Mike (mike.dev_at_[hidden])
Date: 2021-05-28 10:41:47


> Gesendet: Freitag, 28. Mai 2021 um 11:42 Uhr
> Von: "Niall Douglas via Boost" <boost_at_[hidden]>
> An: boost_at_[hidden]
> Cc: "Niall Douglas" <s_sourceforge_at_[hidden]>
> Betreff: Re: [boost] Adding CMakeLists.txt files
>
> On 28/05/2021 01:12, Peter Dimov via Boost wrote:
>
> >> How are you handling the repositories which are generated from external
> >> repos? I'm thinking of Outcome and ASIO.
> >
> > I'm not handling them in any way at the moment. But Outcome already has
> > a CMakeLists.txt file, which is largely correct (it's missing a dependency on
> > Boost::throw_exception and there are a few more cosmetic issues that don't
> > really matter.)
>
> I'm pretty sure Outcome *does* have a dependency on Boost::throw_exception:
>
> 1. Boost::outcome target link libraries Boost::exception with INTERFACE.
>
> 2. Boost::exception target link libraries Boost::throw_exception with
> INTERFACE.
>
> 3. INTERFACE link libraries is transitive, so by describing a dependency
> on Boost::exception, we are declaring a dependency on all the
> dependencies of Boost::exception which includes Boost::throw_exception.
>
> Now, you may wish every library to *directly* indicate its dependencies
> for some definition of "directly". If that is the case however, then
> Outcome would need to list every second and third order dependency of
> its first order dependencies. That seems brittle to me.

I think the point is that Boost.Outcome directly includes headers from
Boost.ThrowException:
https://github.com/boostorg/outcome/blob/2488966ae1faf88f945ae486647b18edebd805b2/include/boost/outcome/config.hpp#L351

So it should probably also directly declare the dependency on Boost::throw_exception
in the CML.

Mike

>
> Niall
>
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
>


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk