With the new build system having landed, we’ve discussed internally what is to happen with the Catalyst Editions. The
catalyze.py has not been updated for the new CMake code and after discussion of what should happen with it, we’ve decided to not do the work to update
catalyze.py for the Spring release (5.7) in favor of a better solution for the Fall release (5.8).
Plan for Fall 2019
The plan going forward is to have a better split of modules within VTK and ParaView to make it easier to maintain for everyone involved. It will be easier for us because it won’t be a radically different source tree with a JSON description of what it should contain and for users because
find_package(ParaView) will work for using a Catalyst Edition exactly as it works for everyone else using VTK and ParaView code (e.g., no worry that some class doesn’t exist in a given module that happens today).
For the Fall release, we plan on doing work along the following lines:
- Split Reader classes from Writer classes. Since Catalyst Adaptors tend to only need file writers, this can reduce the number of dependencies required for an Adaptor build.
- Refine the “grabbag” modules such as
ImagingCoreinto more meaningful modules. Right now, some modules have become the place for classes which do not fit easily in existing modules. The new build system makes it much easier to have narrower modules, so we will work to make that a reality.
This means that Catalyst Editions will essentially become a set of maintained CMake cache files for configuring a stock ParaView source tree to get the required bits. This will also make it easier to include one-off module additions when necessary instead of having to edit a JSON file and restart a build from absolute scratch.