CMake:如何设置 VTK_DIR?

Ten*_*gis 5 c++ cmake vtk

这是我的一部分 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。

这里有什么问题?

Pet*_*ter 3

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)