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。

glslcglslangValidator 组件即使未显式请求也会提供(为了向后兼容)。

导入目标

如果找到了 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 环境中来设置。