Gesendet: Freitag, 28. Mai 2021 um 11:42 Uhr Von: "Niall Douglas via Boost"
An: boost@lists.boost.org Cc: "Niall Douglas" 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/2488966ae1faf88f945ae486647b18edebd... 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