The new autoinit CMake API doesn't support header-only libraries
The way that autoinit gets compiled today with vtk_module_autoinit
generates private headers and then injects it via private compile definitions. This doesn't work for header-only libraries exposing VTK classes because:
- it's a private header
- only going to work in real TU compilations
- the header doesn't get installed
I'm not sure of the best way to actually fix this, but it should be documented at least that publicly depending on VTK from header-only components requires that consumers call vtk_module_autoinit
with…some set of modules defined by the consumed library somewhere. It can't come exclusively from there because using two header-only VTK things should also be supported.
Cc: @brad.king @dzenanz