[Feature Request] Ship ParaView with a mangled VTK
Problem Statement
When including ParaView into applications that already compile and link to VTK, collisions between ParaView's VTK version and the application's can occur at runtime leading to a crash if the VTK versions are incompatible.
As an example, this can happen when using ParaView's Catalyst
implementation in a code that already links to an external system VTK.
Proposed Solution
Given that it is much more likely for another application that already links VTK to develop a dependency on ParaView than it is for ParaView to develop a dependency on another application using VTK, it seems only natural that it should be ParaView's responsibility to mangle its internal VTK libraries using the relatively new VTK_ABI_NAMESPACE
feature developed in vtk/vtk!8993 (merged) (discourse here: https://discourse.vtk.org/t/new-feature-in-vtk-vtk-abi-namespace/9421).
This functionality wraps all of VTK in a compile time defined namespace. The symbols are then "sealed" against collision.
Thoughts?