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.
Doers? LOL - don't hold your breath
Paul
--- Paul A. Bristow Prizet Farmhouse Kendal UK LA8 8AB +44 (0) 1539 561830
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost