New module system landing soon

Another boring thing: it looks like plugins embedded documentation is generated (and thus failed if you don’t have related tools installed) even if PARAVIEW_ENABLE_EMBEDDED_DOCUMENTATION is turned OFF.

I guess this is because in ParaViewPlugin.cmake:502, documentation is turned ON and the global flag is not tested at line 583 (nor in paraview_client_documentation() function definition)?

PARAVIEW_ENABLE_EMBEDDED_DOCUMENTATION is for ParaView the application (and is only really usable underneath Applications/ParaView anyways). Plugins shouldn’t care about that flag. In any case, global options should not affect the CMake API ParaView provides.

Then this is a difference with previous version of PV (this flag also had effect on plugins). And then, it means we cannot compile plugins without xmlpatterns tool.

We can move it to the top-level and the plugins ParaView ships with understand it. We can put it in paraview-config.cmake as well so that other plugins can also follow it. However, that ParaView doesn’t have embedded documentation doesn’t mean a plugin can’t. For example, ModelBuilder is another application build just like ParaView with its own set of plugins it cares about (provided by SMTK). It should not be locked out of embedded documentation just because paraview.exe doesn’t have it enabled.

It makes sense too but there should be a way do disable the compilation of all documentations - for instance if you don’t have tools or don’t need it at all.

1 Like

@ben.boeckel : Looks like I can’t have a XML file at top level, any idea why ?

paraview_add_plugin(BagPlotViewsAndFilters
  REQUIRED_ON_SERVER
  VERSION "1.0"
  SERVER_MANAGER_XML BagPlotViewsAndFilters.xml
  MODULES BagPlotViewsAndFilters::BagPlotViewsAndFiltersFilter)

it fails with :

CMake Error at CMake/ParaViewServerManager.cmake:155 (message):
  The `FILES` argument is required.
Call Stack (most recent call first):
  CMake/ParaViewServerManager.cmake:112 (paraview_server_manager_process_files)
  CMake/ParaViewPlugin.cmake:550 (paraview_server_manager_process)
  Plugins/BagPlotViewsAndFilters/CMakeLists.txt:25 (paraview_add_plugin)


-- Configuring incomplete, errors occurred!

That error comes from the module itself not having any XML files; it hasn’t even gotten to the SERVER_MANAGER_XML part. I guess we can skip the processing of the files if the modules passed in have no XML files which I think is reasonable.

Oh, the problem there is then there’s no target… If you remove the check that FILES is non-empty, do things still work?

I indeed removed the xml from the module.

If I remove the FILES check, it works perfectly.

UI_RESOURCES now seems to work when loading, but the icons in the resource can’t be loaded anyway.

https://vtk.org/Wiki/VTK/Module_Development : This need deletion / update.