CMake build system
|Status:||In Progress||Start date:||06/28/2018|
|Assignee:||Ole Hansen||% Done:|
|Category:||-||Estimated time:||40.00 hours|
|Target version:||1.7||Spent time:||-|
We should replace our aging hand-written Makefiles with modern CMake scripts. CMake has become the de-facto build system standard in NP/HEP. It certainly offers more features and support than SCons. People expect CMake; asking them to install SCons is one more hurdle for them.
One very nice feature of SCons, however, is that it uses checksums to detect file changes, so that you can easily switch between git branches without forcing basically a complete rebuild. None of the currently supported CMake backends seem to support file hashes.
On the other hand, CMake supports/encourages out-of-source builds and has excellent support for file installation, which have their own clear advantages.
We'll label CMake "experimental" for now and see if it catches on.