Remove the WRAP_EXCLUDE properties
One of the goals of the CMake3-aware module setup is to have wrapping not be so tangled with the module system. In particular, wrapping should be able to be done given a (VTK module) target. Additional information for dependent module may be necessary, so wrap hierarchies should be generated and installed for use by other wrapping tools. The major impediment to this is that wrapping exclusions are tied to the CMake level and source file properties.
-
Replacing WRAP_EXCLUDE
as a concept is easy: just wrap headers in#ifndef __VTK_WRAP__
and they won't be wrapped (wrapping tools may need to learn to detect this special case and no-op). -
However, as it is today, Python wrapping is more powerful than Java and Tcl wrapping. Having classes know that Python is more featureful is backwards. How hard would it be for Java and Tcl wrappers to recognize "I can't wrap this" and just skip the otherwise-wrappable classes/headers on their own?
ParaView's ClientServer wrapping is in the same boat as Java and Tcl, but with the new setup, it will instead cherry-pick classes to wrap rather than wrapping module-by-module.
Thoughts?