这是我的一部分 CMakeLists.txt
set (VTK_DIR "/usr/include/vtk-5.8")
find_package(VTK REQUIRED)
include(${VTK_USE_FILE})
IF(VTK_FOUND)
message("found VTK. Version:" ${VTK_VERSION}. VTK_DIR: ${VTK_DIR})
ELSE(VTK_FOUND)
MESSAGE(FATAL_ERROR
"Cannot build the executable without VTK. Please set the
VTK_DIR")
ENDIF(VTK_FOUND)
Run Code Online (Sandbox Code Playgroud)
cmake . 告诉我:
发现VTK。版本:6.0.0.VTK_DIR:/usr/local/lib/cmake/vtk-6.0
在命令行中提供 VTK_DIR 也无济于事:
cmake -DVTK_DIR:PATH=/usr/include/vtk-5.8 .
Run Code Online (Sandbox Code Playgroud)
仍然 cmake 寻找/usr/local/lib/cmake/vtk-6.0VTK。
这里有什么问题?
VTK_DIR 是一个缓存变量,它在 CMake 调用之间保持其状态。您可以从命令行或通过 CMake GUI 界面之一进行设置。
或者,如果您确定要从 CMake 文件本身强制执行它,则可以使用以下语法:
SET(VTK_DIR "/usr/include/vtk-5.8" CACHE PATH "VTK directory override" FORCE)
Run Code Online (Sandbox Code Playgroud)