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 版本加入。
如果 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 環境中來設定。