[cmake,ci] Refactored check headers, use FILE_SET.

Refactored libs definitions in CMakeLists to use FILE_SET functionality, which defines public header files. Public header files can then automatically checked for standalone compilation. Adds new make targets:

  • all_verify_interface_header_sets aliased to check-headers
  • [lib]_verify_interface_header_sets, e.g. MathLib_verify_interface_header_sets

Added checks to "build linux arch" and "build linux petsc" jobs. Did intentionally not refactor Qt-related targets.

Now, out-of-source builds are required! This is because in build-directory generated *_export.h files are part of the FILE_SETs and file set directories are not allowed to be subdirectories of the other file set directories.

  1. Tests covering your feature were added?
  2. Any new feature or behaviour change was documented?
Edited by Lars Bilke

Merge request reports

Loading