Merged requested to merge feature/root into main
The title says it all... From the commit message:
For some purposes (see #200 and #231), the ability to write ROOT files would be a significant enhancement while analyzing DAQ data. However, the cmsgemos code is built in C++17 mode while the official EPEL7 version of ROOT is built with the system compiler (GCC 4.8.5) in C++11 mode. Since the ROOT framework requires to be compiled with the exact same C++ version (and ideally compiler), it is not directly usable within cmsgemos. A shim layer would be required. This commit instead introduces a minimal build of ROOT version 6.28 build in C++17 mode via the devtoolset-8 toolchain. While not recommended, this build appears fully functional with all official tests passing. An RPM is provided in the extras cmsgemos repository for eased deployment and the corresponding SPEC file stored within this Git repository for reference. Fixes #225
Relates to #200 (closed) and #231 (closed). Fixes #225 (closed).
How Has This Been Tested?
cmsgemos point of view, (1) CMake finds the updated libraries and (2) the CI passes. From the ROOT point of view, (1) all its automated tests pass and (2) its RPM installation behaves as expected.
Types of changes
Bug fix (non-breaking change which fixes an issue)
New feature (non-breaking change which adds functionality)
Breaking change (fix or feature that would cause existing functionality to change)
My code follows the code style of this project.
My change requires a change to the documentation.
I have updated the documentation accordingly.
I have read the CONTRIBUTING document.
I have added tests to cover my changes.
All new and existing tests passed.