Deprecate vtkconfigure.h
So this is a big change, but I feel it's only for the better. Dashboards are likely to be unhappy with this until I get a few cycles on configurations I'm not building locally.
Uncovered when !6657 (merged) landed and caused rebuilds of ParaView on any git
change in the submodule. The first step is to split vtkConfigure.h
into 10 headers that are then included as needed rather than having legacy option flipping affecting every class[1], SMP changes only cause SMP-using classes to recompile, etc.
Note that all Python and Java wrapping are still sensitive to any VTK_LEGACY_REMOVE
changes, but we need to include vtkLegacy.h
only if we need it to fix that. We'd need to have some backtracking in the file writing logic to support that. But it shouldn't care about your threading backend either now. @dgobbi
Longer term, we should convert #cmakedefine
to #cmakedefine01
and #if
rather than #ifdef
to help track down missing includes causing bogus detection logic.
[1] Though this is true today anyways since vtkObjectBase
has a deprecated method and vtkType
has deprecated macros, once those are gone, only classes which care will be affected.