Subject: Re: [boost] CMake Announcement from Boost Steering Committee
From: Robert Ramey (ramey_at_[hidden])
Date: 2017-07-19 15:47:01
On 7/19/17 7:47 AM, Paul A. Bristow via Boost wrote:
> To progress beyond statements of desire and intent, we need to have quite a lot of doers to convert some existing libraries to build
> using CMake. The subset including at least system, chrono and Boost.Test (used by nearly all libraries) for starters, and then at
> least a couple of BIG libraries.
FWIW - I've included CMakeLists.txt file in the serialization library
for some years. I use it to build and test the serialization library.
Actually I used it to build the IDE project which I can then use to
build and test the serialization library. Which I believe qualifies as
a BIG library. The reason I made this effort was that I like and depend
upon the IDE for editing, testing, and working with integrated GIT
functionality (I'm currently using Xcode). Before making the CMake
files I had to maintain the IDE project by hand - not really a practical
task. It was easier to figure out CMake - not a trivial task - than to
figure out the xcode ide configuration. Here are some interesting points.
a) It only builds and tests the serialization library. It doesn't
provide the Find... functionality for users. As as library developer I
don't really care about users (for all you sad humorless readers - that
is a joke. It's depressing that I have to include this disclaimer.) But
it's been there for years and no one has ever asked for this functionality.
b) As far as I know, I'm the only person on the planet who has ever used
this facility - even though it is plain to see for anyone interested.
c) It wasn't that hard to setup and maintain - once you spend a non
trivial amount of time learning to really understand CMake. Reading the
comments on this lists make me think that many commentators have only a
cursory knowledge of CMake. Like other build tools, it looks easy when
you make a simple toy project - then you need something trivial that
doesn't come out of the box (e.g. test compilation failure) you find
that it's incredibly difficult and time consuming to add and the result
is hacky and fragile and not really understandable.
d) It does produce an acceptable project for my IDE. Anyone who is
actually interested can use their copy of CMake to test this out by
creating IDE project files for their own environment. Again, as far as
I know I'm the only person (safe one other) who has ever done this.
e) It depends on the rest of boost having been compiled to produce
librarie which are consumable. These are built with the normal b2 system.
Conclusion: This process doesn't have to be as traumatic as it's been
made out to be. If promoters of CMake want to invest actual effort,
they might provide tools/templates for doing this and let people start
using them. If there is a need to force them, you've probably not got
it right yet.
LOL - don't hold your breath
> Paul A. Bristow
> Prizet Farmhouse
> Kendal UK LA8 8AB
> +44 (0) 1539 561830
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk