Boost logo

Boost :

Subject: Re: [boost] Proposal for moving Boost to CMake
From: Robert Ramey (ramey_at_[hidden])
Date: 2017-06-17 06:36:30


On 6/16/17 9:34 PM, David Sankel via Boost wrote:

>> Just to summarize:
>>
>> a) Encourge library authors to include CMakeLists.txt file in their
>> directories. If some committee wants to complain about it, we'll deal with
>> it then.
>>
>> b) Create helpful information for library authors that want to do this.
>> I've got a good place for you to do it.
>>
>> Sit back and watch your idea catch fire
>
>
> :) I don't dislike this idea, but I think moving all of Boost to CMake is
> a big step that we *can* and *should* do. The first milestone is the most
> important one in my proposal.

Hmm - I'm not sure what milestone you're referring to. I'll just
repeat: Start doing the above two items. I believe there is already
good start at disseminating useful information in the cmake section of
the incubator. You evaluate and critisize the CMakeList.txt file in the
safe numerics library. You can either enhance or replace that. As far
as I can I'm the only one who has actually done anything to make CMake
useful to boost. But I'm certainly happy to see anyone else make an effort.

I spent a fair amount of effort studying CMake with an eye to making
boost work better. Here is my summary of it.

a) CMake build libraries - Since most of boost is header only there's
not really much for CMake to do.

b) CMake to specify tests. This is the main thing that CMake can do.

c) CTest sets up running the tests. Not much to after b is done.

d) CDash - this interested me a lot and I spend mearsureable time with
it. It embodied the idea that I would like that users run tests on
their own systems for the libraries they use and results would be
uploaded to a common area. Bjam does this only with all of boost at
once. Since I looked at this we now have appveror, travis etc. which
may fulfill some of that role. (though in my opinion they are another
example of half-assed build tools). CDash is pretty much a hack and
would require considerable investment of effort to even approach the
information that the boost build test matrix holds. (and even the boost
build test matrix needs a serious upgrade in my opinion).

e) Find boost. This is for users of Boost (not authors) who use CMake
on their own systems to import boost libraries. It doesn't require that
boost use CMake. Fixing FindBoost might be nice - but it doesn't really
have anything to do with boost itself.

So for most boost libraries the only role of CMake would be to build,
run and post tests. That's it. I'd like to see it done though. I
would like to see uses run tests of the libraries that they use on their
own systems and post the results to a common area. But this is way in
the future. For now all you have to do is a) and b) above. And half of
that is already done.

The boost library incubator is on git hub and open to PRs to any section
including the information as it relates to Cmake on boost. The safe
numerics library is also on git hub and open to PR s to the
CMakeList.txt files in the package.

What more do you need to get started?

Robert Ramey


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