What is the "headercheck" feature about? In the comments it just says: "reimplementation of the old autotools feaure". It seems to be disabled by default.
- Does anyone use this feature?
- How does it work and what does it do? It is not really documented!
- There are some functions called to remove headers from headercheck. Why is this necessary?
- Is it a necessary "feature" or just a historic inheritance from the autotools build-system?
- Is there a modern alternative?
Guessing wildly, by interpreting the name "headercheck", I would say this feature somehow checks that header files are (syntactically) valid. Since we have a lot of header-only code, that would not be tested otherwise, this could be useful. If this is the intend of that feature, we could replace it with precompiled headers. This would additionally give a spead-up in the compilation time of about 20%. CMake provides simple functionality for this purpose. See https://gitlab.dune-project.org/simon.praetorius/dune-cmake/issues/3 for a discussion of this feature.