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 版本加入。

如果 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 shader 編譯器函式庫,則為 True。

Vulkan_dxc_exe_FOUND

於 3.25 版本加入。

如果 SDK 具有 DirectX shader 編譯器 CLI 工具,則為 True。

此模組也會定義這些快取變數

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 環境中來設定。