Skip to content

Biannual CMake cleanup

Moritz Kiehn requested to merge (removed):biannual_cmake_cleanup into master

I have the feeling our CMake configuration starts to rust easily and needs a good scrubbing once in a while. Consider this the yearly cleanup:

  • Consistent formatting and whitespace.
  • Remove file(GLOB ...) to define source files as recommended by CMake.
  • Rename ActsIdentificationPlugin for consistency. (Fixes #656 (closed))
  • Reduce boilerplate for tests by adding add_unittest(...) and add_integrationtest(...) macros. (Fixes #657 (closed))
  • Remove unused or empty configs and directories. This includes the removal of CDash. (Fixes #658 (closed))
  • Remove all extra variables from the installed CMake configs and only provide CMake targets. All settings and dependencies are propagated through target-specific properties.
  • Move some utility code into separate modules to simplify the main CMakeLists.txt.
  • Install setup.sh in the install directory directly and not in the bin directory underneath. (Fixes #675 (closed))

This includes also includes a bugfix to InterpolatedMaterialMap that ensures that the ownership of the underlying mapper is always correctly transferred. This showed up in the unit tests that probably where not correctly registered before.

There are some follow-up issues that I encountered while working on this. They are tracked as #673 and #674.

Edited by Moritz Kiehn

Merge request reports