Hi there,
I’m trying to learn how to find the package name for a particular class in VTK with c++ and cmake. I feel like I’ve been going through examples and blindly following what the authors suggest should go inside the find_package(...)
parentheses and I’d love to understand it better. One example is if I’m now trying to be able to use the vtkStructuredGrid
class and I need to be able to include #include <vtkStructuredGridAlgorithm.h>
what is the way I should infer the package name for the cmake lists? Thanks!
“package” - or module as the VTK infrastructure calls them - naming follows the directory names of the source code. For example, vtkStructuredGrid.h
is located at Common/DataModel/vtkStructuredGrid.h
and the module that holds the implementation of vtkStructuredGrid
is VTK::CommonDataModel
.
Similarly, vtkStructuredGridAlgorithm.h
is under Common/ExecutionModel
thus, the corresponding module name is VTK::CommonExecutionModel
.
Additionally , you may use the python script Utilities/Maintenance/FindNeededModules.py
that returns the module names needed for a given source file.
1 Like
oh that script is a gold mine! And overall I think this makes much more sense now. Thank you!