Simplify and improve CMake/Package structure
This MR only touches the CMake/build part of SNCabling, focussing on modernisation and long term usability/maintenance. The key items are:
- Removal of dead, or otherwise unused, CMake scripting
- Use of
project()
sVERSION
argument to define the version and set up all variables in one place- The "REVISION" variable is removed as it is only relevant for SVN, and has no meaning in Git
- The SNCabling library build is streamlined using
target_XXX
commands to declare usage requirements for internal and external (e.g. Boost) dependencies- An "ALIAS" library is also provide to allow SNCabling to be more easily used in a super build
- The SNCablingConfig.cmake file is streamlined and provides a standard interface for clients
- The
sncablingquery
program has been renamedsncabling-config
to bring it in line with other UNIX project conventions (e.g. Xerces-C, Python, GSL, CLHEP, etc) - The
source
directory is flattened out to better structure and ease navigation of the code
This has been tested with the develop
branch of SNFrontEndElectronics
as an example client, and works fine without needing mods.