FindVulkan¶
在 3.7 版本中新增。
查找 Vulkan,这是一种低开销的跨平台 3D 图形和计算 API。
可选的 COMPONENTS¶
在 3.24 版本中新增。
此模块支持多个可选的 COMPONENTS。每个组件都有相应的导入目标。
glslc
SPIR-V 编译器。
glslangValidator
glslangValidator
工具。glslang
SPIR-V 生成器库。
shaderc_combined
用于 Vulkan 着色器编译的静态库。
SPIRV-Tools
用于处理 SPIR-V 模块的工具。
MoltenVK
在 macOS 上,提供了额外的组件
MoltenVK
。dxc
在 3.25 版本中新增。
DirectX 着色器编译器。
即使没有明确请求 glslc
和 glslangValidator
组件,也会提供这些组件(出于向后兼容性的考虑)。
导入的目标¶
如果已找到 Vulkan,此模块定义 IMPORTED
目标
Vulkan::Vulkan
主要的 Vulkan 库。
Vulkan::glslc
在 3.19 版本中新增。
如果找到的 GLSLC SPIR-V 编译器。
Vulkan::Headers
在 3.21 版本中新增。
仅提供 Vulkan 头文件包含路径(如果找到)。此目标中不包括任何库。这对于动态加载 Vulkan 库的应用程序来说可能很有用。
Vulkan::glslangValidator
在 3.21 版本中新增。
如果找到的 glslangValidator 工具。该工具用于将 GLSL 和 HLSL 着色器编译为 SPIR-V。
Vulkan::glslang
在 3.24 版本中新增。
如果 SDK 具有 Khronos 参考前端着色器解析器和 SPIR-V 生成器库 (glslang),则定义此库。
Vulkan::shaderc_combined
在 3.24 版本中新增。
如果 SDK 具有用于 Vulkan 着色器编译的 Google 静态库 (shaderc_combined),则定义此库。
Vulkan::SPIRV-Tools
在 3.24 版本中新增。
如果 SDK 具有用于处理 SPIR-V 模块的 Khronos 库 (SPIRV-Tools),则定义此库。
Vulkan::MoltenVK
在 3.24 版本中新增。
如果 SDK 具有在 Apple Metal 图形框架上实现 Vulkan API 子集的 Khronos 库 (MoltenVK),则定义此库。
Vulkan::volk
在 3.25 版本中新增。
如果 SDK 具有 Vulkan 元加载器 (volk),则定义此库。
Vulkan::dxc_lib
在 3.25 版本中新增。
如果 SDK 具有 DirectX 着色器编译器库,则定义此库。
Vulkan::dxc_exe
在 3.25 版本中新增。
如果 SDK 具有 DirectX 着色器编译器 CLI 工具,则定义此库。
结果变量¶
此模块定义以下变量
Vulkan_FOUND
如果找到 Vulkan,则设置为 true
Vulkan_INCLUDE_DIRS
Vulkan 的包含目录
Vulkan_LIBRARIES
链接到此库以使用 Vulkan
Vulkan_VERSION
在 3.23 版本中新增。
vulkan/vulkan_core.h
中的值Vulkan_glslc_FOUND
在 3.24 版本中新增。
如果 SDK 具有 glslc 可执行文件,则为 True。
Vulkan_glslangValidator_FOUND
在 3.24 版本中新增。
如果 SDK 具有 glslangValidator 可执行文件,则为 True。
Vulkan_glslang_FOUND
在 3.24 版本中新增。
如果 SDK 具有 glslang 库,则为 True。
Vulkan_shaderc_combined_FOUND
在 3.24 版本中新增。
如果 SDK 具有 shaderc_combined 库,则为 True。
Vulkan_SPIRV-Tools_FOUND
在 3.24 版本中新增。
如果 SDK 具有 SPIRV-Tools 库,则为 True。
Vulkan_MoltenVK_FOUND
在 3.24 版本中新增。
如果 SDK 拥有 MoltenVK 库,则为 True。
Vulkan_volk_FOUND
在 3.25 版本中新增。
如果 SDK 拥有 volk 库,则为 True。
Vulkan_dxc_lib_FOUND
在 3.25 版本中新增。
如果 SDK 拥有 DirectX 着色器编译器库,则为 True。
Vulkan_dxc_exe_FOUND
在 3.25 版本中新增。
如果 SDK 拥有 DirectX 着色器编译器 CLI 工具,则为 True。
该模块还将定义以下缓存变量
Vulkan_INCLUDE_DIR
Vulkan include 目录
Vulkan_LIBRARY
Vulkan 库的路径
Vulkan_GLSLC_EXECUTABLE
GLSL SPIR-V 编译器的路径
Vulkan_GLSLANG_VALIDATOR_EXECUTABLE
glslangValidator 工具的路径
Vulkan_glslang_LIBRARY
在 3.24 版本中新增。
glslang 库的路径。
Vulkan_shaderc_combined_LIBRARY
在 3.24 版本中新增。
shaderc_combined 库的路径。
Vulkan_SPIRV-Tools_LIBRARY
在 3.24 版本中新增。
SPIRV-Tools 库的路径。
Vulkan_MoltenVK_LIBRARY
在 3.24 版本中新增。
MoltenVK 库的路径。
Vulkan_volk_LIBRARY
在 3.25 版本中新增。
volk 库的路径。
Vulkan_dxc_LIBRARY
在 3.25 版本中新增。
DirectX 着色器编译器库的路径。
Vulkan_dxc_EXECUTABLE
在 3.25 版本中新增。
DirectX 着色器编译器 CLI 工具的路径。
提示¶
在版本 3.18 中添加。
VULKAN_SDK
环境变量可选地指定给定体系结构的 Vulkan SDK 根目录的位置。通常通过调用 Vulkan SDK 目录的顶层 setup-env.sh
脚本到 shell 环境中来设置。