find_package(VTK 9.3 REQUIRED COMPONENTS
CommonCore
CommonColor
CommonComputationalGeometry
CommonDataModel
CommonExecutionModel
CommonMath
CommonMisc)
当需要写vtk CMakeList的时候,或者在vtk中增加了额外的引用时需要更新CMakeList的时候,
你发现这里需要的是module名,那么怎么根据#include的头文件名找到对应的module呢?
VTK有如下Modules
1. 自动生成
在vtk源程序中vtk-source\VTK-9.3.1\Utilities\Maintenance有FindNeededModules.py
python3 "$VTK_ROOT/Utilities/Maintenance/FindNeededModules.py" -j $VTK_ROOT/build/modules.json -s vtkHelloworld.cpp
可以自动生成所需要的cmakelist find package.
How to determine the CMake VTK "COMPONENTS" necessary for a class? - Development - VTK
这里有相关的讨论
2. 手动查找
可以参考VTK学习笔记(九)VTK中的各个模块_vtkmodules-CSDN博客
在vtk的安装目录下搜所要的vtk class名.
比如要找vtkDijkstraGraphGeodesicPath所对应的module
发现在vtk-install\Filters\Modeling\FiltersModeling.dir\Debug这个路径下,那么FiltersModeling就是所对应的module