I almost finished crafting CMake configuration for libLAS. It is available from the repository in the main branch. It is possible to build libLAS library and command line utilities configured with most of supported dependencies: GDAL, GeoTIFF and SpatialIndex. Configuration of Oracle and Boost dependencies is not ready yet. It is also possible to install libLAS run-time and compile-time components. Cool!
Detailed story with extensive example of how to use CMake to build libLAS is available here in Trac. I have successfully tested it on Linux (Ubuntu 9.04). I’m going to test & update it on Windows with Visual Studio - generally it (compilation) works but dependencies selection and installation commands haven’t been tested.
I’m very pleased I can officially announce CMake configuration availability. I truly hope to make my life and users life easier - maintenance of Visual Studio projects is just ridiculously tedious and time consuming.
Preparing CMake configuration was a very useful experience and I’m going to use it to improve other projects this way (like SOCI, Generic Geometry Library). I would be happy to see interest in preparing CMake configuration for GDAL/OGR too…any brave hearts out there?
Why CMake? Because CMake is the best build system ever delivered to Open Source community. Full stop.
Projects of all types, ages and sizes evaluated CMake, came to the same conclusion and eventually migrated to use CMake. To give examples of large or established projects, here we go:
Boost C++ Libraries used to be firmly wedded to bjam (still main builder), they have learned about CMake features and currently
migration to CMakedevelopment of CMake-based configuration is well in progress and their community is being taught about CMake.KDE switched to CMake in the middle of 2006
Quantum GIS thanks to Martin Dobias started migrating to CMake shortly after KDE.
By the way, I’ve started collecting custom reusable CMake modules - available from my workshop repository. They can be used to complete, large collection anyway, of standard CMake modules.