Boost logo

Boost :

Subject: Re: [boost] [cmake] Pull request announcement
From: Rene Rivera (grafikrobot_at_[hidden])
Date: 2018-09-26 23:55:22


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?

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

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