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 to run. Robert Ramey