Boost logo

Boost :

Subject: Re: [boost] [cmake] Pull request announcement
From: Rene Rivera (grafikrobot_at_[hidden])
Date: 2018-09-26 19:18:16


On Wed, Sep 26, 2018 at 11:26 AM Stefan Seefeld <stefan_at_[hidden]> wrote:

> Hi Rene,
>
> On 2018-09-26 02:16 PM, Rene Rivera wrote:
>
> On Wed, Sep 26, 2018 at 10:28 AM Stefan Seefeld via Boost <
> boost_at_[hidden]> wrote:
>
>> Personally I'd go as far as suggesting that it be a requirement for any
>> new build tool proposal that individual projects be compilable (and
>> installable) individually.
>>
>
> I should mention.. that there's nothing in B2 that prevents that
> modularity.
>
>
> I'm not exactly sure what you mean by "prevent", but as far as I know,
> modular builds (at least the variant as I describe it in my other reply)
> aren't supported by Boost.Build right now. I'd be more than happy to be
> proven wrong.
>

> (I know we have gone over exactly this question years ago, when you told
> me that it could be done with a bit of adjustment to the Boost.Build
> internal code. Has anything changed since then ?)
>

They are prevented by the Boost building scripts, i.e. boost-root/jamroot.
If Boost was willing to be truly modular it would be a fairly simple matter
to make each Boost library it's own B2 project (i.e with their own jamroot)
and import dependencies with the usual B2 "using" declaration you would
easily get individual builds (which like cmake would also force dealing
with cycles). That would be at least equivalent to the cmake
"add_subdirectory" suggestions (although it would give you a bit more).
About the only "new" piece of functionality needed, like cmake, would be to
Boost define a standard for what installed Boost library modules means.
With such a definition it would then also be easy to also account for
externally installed modular Boost library with B2. Although we do already
have part of that in the B2 equivalent of FindBoost <
https://github.com/boostorg/build/blob/develop/src/contrib/boost.jam> (note
that the file is 10 years old). Hence, there is nothing new here. It's
always been possible for Boost to be modular without cmake. And ultimately
it's not a question of what build system Boost uses.. It's always solely
been a question of the structure of Boost.

Sorry if that sounds like a rant. But I tire of people placing blame at
B2's feet.

-- 
-- Rene Rivera
-- Grafik - Don't Assume Anything
-- Robot Dreams - http://robot-dreams.net


signature.png

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