我需要发送一个cmake变量给vcpkg中的一个依赖项,更具体地说,假设这是我的vcpkg.json:
{
"name": "your-project-name",
"version-string": "1.1.0",
"dependencies": [
"vtk"
]
}
现在我需要将VTK_MODULE_ENABLE_VTK_GUISupportQtQuick设置为YES,通常您可以在使用配置CMake时直接执行此操作
-DVTK_MODULE_ENABLE_VTK_GUISupportQtQuick=YES
但是我怎么能在vcpkg中做到这一点呢?
我在CMake中尝试了以下操作:
if (NOT DEFINED CMAKE_TOOLCHAIN_FILE)
set(CMAKE_TOOLCHAIN_FILE "${CMAKE_SOURCE_DIR}/vcpkg/scripts/buildsystems/vcpkg.cmake" CACHE PATH "toolchain file")
set(VTK_MODULE_ENABLE_VTK_GUISupportQtQuick YES CACHE)
endif()
但似乎CMake会忽略它
1条答案
按热度按时间oxcyiej71#
vcpkg中的vtk端口具有如下特征:
应该给予你部分你想要的,但快速模块不包括在该功能,所以你需要去更深一点。有两种方法来实现你想要的:a)端口覆盖(其复制端口并编辑
portfile.cmake
以具有所述选项)或B)使用每个端口定制和设置的三元组覆盖但是,在
CMakeLists.txt
中设置-DVTK_MODULE_ENABLE_VTK_GUISupportQtQuick=Yes
并不起任何作用,因为它与vcpkg在内部执行的操作完全隔离。