This MR improves the CI and testing infrastructure:
Fix LinkDef which got completely messed up from clang-format, breaking proper ROOT linking
Disable clang-format for LinkDef for future
Remove support for building static libaries - this is hopeless with ROOT as dependency
Enable building of doxygen documentation
Add googletest as testing framework
Add simple param file and test proper reading of file
For now don't fail in sanitize CI, as memory leaks are reported (from ROOT) -> need to find a way to suppress those in the future. Possible options include adding
echo "leak:libCling" >> asan.supp and then export LSAN_OPTIONS=suppressions=asan.supp
but this might suppress also memory leaks from FastCaloSim classes? ROOT provided a https://github.com/cxx-hep/root-cern/blob/master/etc/valgrind-root.supp file, but unforfunately only for valgrind. In principle we could generate such a list for LSAN by adding fast_unwind_on_malloc=0 to the ASAN options, though this seems to be terrible slow.
This MR improves the CI and testing infrastructure:
echo "leak:libCling" >> asan.supp
and thenexport LSAN_OPTIONS=suppressions=asan.supp
but this might suppress also memory leaks from FastCaloSim classes? ROOT provided a https://github.com/cxx-hep/root-cern/blob/master/etc/valgrind-root.supp file, but unforfunately only for valgrind. In principle we could generate such a list for LSAN by adding
fast_unwind_on_malloc=0
to theASAN
options, though this seems to be terrible slow.