List of Compatible/Incompatible Dependencies

Is there a complete list of all VTK optional/required dependencies and which versions are possible (i.e. compatible/incompatible)?

I don’t think this is centrally tracked, but a grep for the following should find “everything”:

  • vtk_module_find_package: Required dependencies (if the module is enabled)
  • find_package: Required/optional depends on context; usually constrained to Testing requirements.
  • vtk_module_third_party: The EXTERNAL bit describes what is needed for external support; may be provided by VTK if INTERNAL is present.
  • vtk_required_python_modules: These packages get written to a requirements.txt in the build tree. Required/optional depends on context and the module state.

If you’d like to gather this information and contribute it to VTK’s documentation, that would be appreciated.

@ben.boeckel I would love to! Just one problem…Are the commands you listed CMake commands? I’m still pretty green w.r.t. CMake. As I understand it, CMake has a kind of Bourne shell scripting feel of a syntax. How could I use those commands and/or what’s the best way to learn how to use them?

They are strings to search for in the codebase. Some instances will be in the infrastructure than handles these, but the actual usage sites should be fairly straightforward for all of them. If in doubt, the first and third have docs in VTK, the second is documented in CMake, and the fourth is just a list of Python dependencies. I don’t think they show up in C++ code either :slight_smile: .

1 Like