Subject: Re: [boost] proposal - modularize Boost build system
From: Robert Ramey (ramey_at_[hidden])
Date: 2017-06-19 17:14:39
On 6/19/17 8:46 AM, Stefan Seefeld via Boost wrote:
> * I want to be able to build a given Boost library stand-alone, with
> nothing but the library's repo being checked out. (In other words:
> prerequisite Boost components should be assumed pre-installed.)
> * I want to be able to choose the build (, test, etc.) infrastructure
> used for my library, and make sure that when Boost is built as a whole,
> that build infrastructure is used.
Hmmmm - I'm thinking I doing that already. Here's what I do:
a) I have a modular boost clone on my machine - set to master branch.
b) I also have in the same tree libraries which I'm working on with the
branch set to develop. These might be libraries already in boost, like
boost.radional or boost.serialization. They also might be totally new
libraries/applications which are not in boost at all.
c) working from my shell move the directory which interests me. Its
currently boost/libs/safe_numerics/test. But it could be anywhere which
has a Jamfile.v2
d) then I invoke b2* which builds anything dependent and the then the
target in the local Jamfile.v2
e) So then I've got exactly what I need with pretty no hassle - except
getting the switches to bjam right. This last is a hassle as I test
with various toolsets.
* actually rather than invoking b2 directly, I invoke
../../../library_status.sh which runs b2 and then produces my own very
cool html global table of all the tests I've run by compiler, build
variant, link variant, etc.
Sooooo - I'm not getting what we're missing here.
And I'm getting what the CMake advocates want either. Actually I'm not
understanding what anyone (but me) wants which we don't already have
except an easier way to do what we're already doing.
BTW I do use CMake because I like to use IDE for edit, test etc. Using
IDE without this was a painful maintainence nightmare. Fortunately
making a CMake to build my IDE is pretty simple. You can see what I did
in the github develop branch of safe_numerics or serialization library.
The Jamfile.v2 scripts are actually even simpler - just a list of tests