Skip to content

Simplify and improve CMake/Package structure

Ben Morgan requested to merge Ben.Morgan/SNCabling:modernize-cmake into develop

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()s VERSION 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 renamed sncabling-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.

Merge request reports

Loading