Combined CI & CMake Cleanup Compilation
This contains a whole set of various CI/CMake related fixes:
- Require C++17 as per-target requirement in the core.
- Use consistent CMake formatting w/ reduced command duplication and without source globs as recommended by CMake
- Wherever possible, dependencies are handled via CMake targets, instead of manually using package variables.
- All optional components are moved to separate directories that are included with
add_subdirectory_if(...)
- Only install build outputs not include files.
- Provide a single LCG setup script that sets up LCG95. The requirements, e.g. for boost, are a bit higher for the framework than for acts-core and we are only running one version anyways.
- Add a helper script to install the framework with all optional components and necessary setup scripts on lxplus. Usefull e.g. to run simulations on the batch system.
- Increase HepMC3 requirement to version 3.1 to be able to run w/ LCG95. Update code and CMake modules accordingly.
- The CI full build now actually is a full build.
Closes #129 (closed), #145 (closed), #146 (closed), #168 (closed), #169 (closed), #170 (closed).
Depends on !162 (merged) and should be merge after.