Boost logo

Boost :

Subject: Re: [boost] [cmake] Pull request announcement
From: Stefan Seefeld (stefan_at_[hidden])
Date: 2018-09-27 00:01:21


On 9/26/18 7:55 PM, Rene Rivera via Boost wrote:
> On Wed, Sep 26, 2018 at 2:40 PM Peter Dimov via Boost <boost_at_[hidden]>
> wrote:
>
>> Stefan Seefeld wrote:
>>> On 2018-09-26 05:30 PM, Peter Dimov via Boost wrote:
>>>
>>>> Stefan Seefeld wrote:
>>>>>> * allow an individual project to be built against prerequisite
>> boost
>>>>>> libraries that are pre-installed on the system (no matter whether
>>>>>> that installation was done manually or using some system package
>>>>>> management, as is common on Linux).
>>>>> which as of now isn't supported by B2...
>>>> Isn't this a matter of you writing an appropriate Jamroot for
>> standalone
>>>> use?
>>> Believe me, if I knew how to do it, I had done it already. I did discuss
>>> with Rene a few years ago.
>> I'm sure you would have; I'm just trying to determine the specific
>> obstacle
>> we're facing. What do we need to add to Boost.Build?
>>
> All that's needed is to add a Jamroot to your lib-root that defines your
> dependencies. For example, for BPL, it could look like this:
>
> ===
> import boost ;
> boost.use-project ;
> project : requirements <use>/boost//bind <use>/boost//config
> <use>/boost//conversion <use>/boost//core <use>/boost//detail
> <use>/boost//foreach <use>/boost//function <use>/boost//iterator
> <use>/boost//lexical_cast <use>/boost//mpl <use>/boost/numeric//conversion
> <use>/boost//preprocessor <use>/boost//smart_ptr <use>/boost//tuple
> <use>/boost//type_traits <use>/boost//utility ;
> ===
>
> WARNING: This is entirely off the cuff code that I'm writing at CppCon
> while listening to a presentation at the end of the day :-(
>
> This **only** gives you the ability to do stuff in your library with
> whatever the default detect system Boost is. Which means that as soon as we
> do that your lib is no longer able to use the sibling / integrated /
> monolithic Boost cloned tree. And perhaps this is the real problem that
> Stefan is having. That it's not possible to currently implement a b2
> project file that can support both modular and monolithic *at the same
> time*. But this is software, and hence anything is ultimately possible. Is
> it something that is worth supporting.. maybe? or maybe not?

Indeed: While the above is a great starting point to support what I
want, I don't want to loose the ability for BPL to be built (and tested)
as part of the rest of Boost. I would thus prefer something that gives
me the ability to choose the build strategy e.g. using some command-line
option, including flag to be passed to the build (e.g., `b2 ...
standalone=on`), rather than having to modify the (build) code.

Thanks,

Stefan

-- 
      ...ich hab' noch einen Koffer in Berlin...
    

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