FindVulkan¶
版本 3.7 新增。
查找 Vulkan,它是一个低开销、跨平台的 3D 图形和计算 API。
可选 COMPONENTS¶
版本 3.24 新增。
此模块支持几个可选的 COMPONENTS。每个组件都有对应的导入目标。
glslc
SPIR-V 编译器。
glslangValidator
glslangValidator
工具。glslang
SPIR-V 生成器库。
shaderc_combined
Vulkan shader 编译的静态库。
SPIRV-Tools
处理 SPIR-V 模块的工具。
MoltenVK
在 macOS 上,还有一个额外的组件
MoltenVK
可用。dxc
版本 3.25 新增。
DirectX Shader Compiler。
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 shaders 编译为 SPIR-V。
Vulkan::glslang
版本 3.24 新增。
如果 SDK 具有 Khronos 参考前端 shader 解析器和 SPIR-V 生成器库 (glslang),则定义此项。
Vulkan::shaderc_combined
版本 3.24 新增。
如果 SDK 具有 Google Vulkan shader 编译静态库 (shaderc_combined),则定义此项。
Vulkan::SPIRV-Tools
版本 3.24 新增。
如果 SDK 具有 Khronos 库来处理 SPIR-V 模块 (SPIRV-Tools),则定义此项。
Vulkan::MoltenVK
版本 3.24 新增。
如果 SDK 具有 Khronos 库,该库在 Apple Metal 图形框架上实现了 Vulkan API 的子集。(MoltenVK)。
Vulkan::volk
版本 3.25 新增。
如果 SDK 具有 Vulkan 元加载器 (volk),则定义此项。
Vulkan::dxc_lib
版本 3.25 新增。
如果 SDK 具有 DirectX shader 编译器库,则定义此项。
Vulkan::dxc_exe
版本 3.25 新增。
如果 SDK 具有 DirectX shader 编译器 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 新增。
True,如果 SDK 具有 glslc 可执行文件。
Vulkan_glslangValidator_FOUND
版本 3.24 新增。
True,如果 SDK 具有 glslangValidator 可执行文件。
Vulkan_glslang_FOUND
版本 3.24 新增。
True,如果 SDK 具有 glslang 库。
Vulkan_shaderc_combined_FOUND
版本 3.24 新增。
True,如果 SDK 具有 shaderc_combined 库。
Vulkan_SPIRV-Tools_FOUND
版本 3.24 新增。
True,如果 SDK 具有 SPIRV-Tools 库。
Vulkan_MoltenVK_FOUND
版本 3.24 新增。
True,如果 SDK 具有 MoltenVK 库。
Vulkan_volk_FOUND
版本 3.25 新增。
True,如果 SDK 具有 volk 库。
Vulkan_dxc_lib_FOUND
版本 3.25 新增。
True,如果 SDK 具有 DirectX shader 编译器库。
Vulkan_dxc_exe_FOUND
版本 3.25 新增。
True,如果 SDK 具有 DirectX shader 编译器 CLI 工具。
该模块还将定义这些缓存变量
Vulkan_INCLUDE_DIR
Vulkan 包含目录
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 shader 编译器库的路径。
Vulkan_dxc_EXECUTABLE
版本 3.25 新增。
DirectX shader 编译器 CLI 工具的路径。
提示¶
版本 3.18 新增。
VULKAN_SDK
环境变量可以选择性地指定给定架构的 Vulkan SDK 根目录的位置。它通常通过将 Vulkan SDK 目录的顶层 setup-env.sh
脚本加载到 shell 环境中来设置。