Boost logo

Boost :

Subject: Re: [boost] CMake - one more time
From: Peter Dimov (lists_at_[hidden])
Date: 2016-04-24 12:16:31


Paul Fultz II wrote:

> What would be nice if BPM was extensible to support libraries in the
> incubator. That is the user had some form of channel or PPA that could be
> added, which would install these unofficial libraries as well.

I could in principle borrow a page from your book and make it treat

    bpm install pdimov:mp11

as referring to github.com/pdimov/mp11, placing it into libs/mp11, but the
problem is then versioning. When everything is under the boostorg umbrella,
the nice thing about the superproject is that it gives me a global version
across all submodules. So when you install filesystem 1.60.0, it knows to
get system 1.60.0 as well.

(pdimov/mp11 doesn't work because we already have numeric/odeint.)

Actually, now that I think about it, I'm not sure downloading the Github
tarball of boostorg/boost would give me the information I need to download
the correct revision of the submodules... and I rather not integrate git
into bpm. :-)

> > But now I think that this is unnecessary; I plan to rework it to
> > download the packages directly from Github, and to scan the dependencies
> > in place, so as to eliminate the need for a bpm-specific packaging.
>
> Wouldn’t it need to download all of boost to do that? Otherwise, how does
> it know which header belongs to which library?

My current plan is to autodetect the library from boost/{library}/... or
boost/{library}.hpp and rely on a list with the headers that do not fit this
form.

I just added --list-exceptions to boostdep for this purpose; the main
offenders are boost/archive, which belongs to serialization,
boost/graph/distributed and boost/graph/parallel, which are in
graph_parallel, and boost/detail/winapi which is the winapi module.

> > This would be very useful in .travis.yml, except that you'd need to
> > somehow bootstrap bpm first.
>
> And b2 as well, correct?

I could integrate the b2 engine into bpm. The idea being that bpm.exe should
be all one needs to install and build everything else.

Although I don't have the time at present to flesh all this out, so it could
be that I've overlooked something.


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