FindVulkan¶
Added in version 3.7.
Find Vulkan, which is a low-overhead, cross-platform 3D graphics and computing API.
Optional COMPONENTS¶
Added in version 3.24.
This module respects several optional COMPONENTS. There are corresponding imported targets for each of these.
glslcThe SPIR-V compiler.
glslangValidatorThe
glslangValidatortool.glslangThe SPIR-V generator library.
shaderc_combinedThe static library for Vulkan shader compilation.
SPIRV-ToolsTools to process SPIR-V modules.
MoltenVKOn macOS, an additional component
MoltenVKis available.dxcAdded in version 3.25.
The DirectX Shader Compiler.
The glslc and glslangValidator components are provided even
if not explicitly requested (for backward compatibility).
Imported Targets¶
This module defines IMPORTED targets if Vulkan has been found:
Vulkan::VulkanThe main Vulkan library.
Vulkan::glslcAdded in version 3.19.
The GLSLC SPIR-V compiler, if it has been found.
Vulkan::HeadersAdded in version 3.21.
Provides just Vulkan headers include paths, if found. No library is included in this target. This can be useful for applications that load Vulkan library dynamically.
Vulkan::glslangValidatorAdded in version 3.21.
The glslangValidator tool, if found. It is used to compile GLSL and HLSL shaders into SPIR-V.
Vulkan::glslangAdded in version 3.24.
Defined if SDK has the Khronos-reference front-end shader parser and SPIR-V generator library (glslang).
Vulkan::shaderc_combinedAdded in version 3.24.
Defined if SDK has the Google static library for Vulkan shader compilation (shaderc_combined).
Vulkan::SPIRV-ToolsAdded in version 3.24.
Defined if SDK has the Khronos library to process SPIR-V modules (SPIRV-Tools).
Vulkan::MoltenVKAdded in version 3.24.
Defined if SDK has the Khronos library which implement a subset of Vulkan API over Apple Metal graphics framework. (MoltenVK).
Vulkan::volkAdded in version 3.25.
Defined if SDK has the Vulkan meta-loader (volk).
Vulkan::dxc_libAdded in version 3.25.
Defined if SDK has the DirectX shader compiler library.
Vulkan::dxc_exeAdded in version 3.25.
Defined if SDK has the DirectX shader compiler CLI tool.
Result Variables¶
This module defines the following variables:
Vulkan_FOUNDset to true if Vulkan was found
Vulkan_INCLUDE_DIRSinclude directories for Vulkan
Vulkan_LIBRARIESlink against this library to use Vulkan
Vulkan_VERSIONAdded in version 3.23.
value from
vulkan/vulkan_core.hVulkan_glslc_FOUNDAdded in version 3.24.
True, if the SDK has the glslc executable.
Vulkan_glslangValidator_FOUNDAdded in version 3.24.
True, if the SDK has the glslangValidator executable.
Vulkan_glslang_FOUNDAdded in version 3.24.
True, if the SDK has the glslang library.
Vulkan_shaderc_combined_FOUNDAdded in version 3.24.
True, if the SDK has the shaderc_combined library.
Vulkan_SPIRV-Tools_FOUNDAdded in version 3.24.
True, if the SDK has the SPIRV-Tools library.
Vulkan_MoltenVK_FOUNDAdded in version 3.24.
True, if the SDK has the MoltenVK library.
Vulkan_volk_FOUNDAdded in version 3.25.
True, if the SDK has the volk library.
Vulkan_dxc_lib_FOUNDAdded in version 3.25.
True, if the SDK has the DirectX shader compiler library.
Vulkan_dxc_exe_FOUNDAdded in version 3.25.
True, if the SDK has the DirectX shader compiler CLI tool.
The module will also defines these cache variables:
Vulkan_INCLUDE_DIRthe Vulkan include directory
Vulkan_LIBRARYthe path to the Vulkan library
Vulkan_GLSLC_EXECUTABLEthe path to the GLSL SPIR-V compiler
Vulkan_GLSLANG_VALIDATOR_EXECUTABLEthe path to the glslangValidator tool
Vulkan_glslang_LIBRARYAdded in version 3.24.
Path to the glslang library.
Vulkan_shaderc_combined_LIBRARYAdded in version 3.24.
Path to the shaderc_combined library.
Vulkan_SPIRV-Tools_LIBRARYAdded in version 3.24.
Path to the SPIRV-Tools library.
Vulkan_MoltenVK_LIBRARYAdded in version 3.24.
Path to the MoltenVK library.
Vulkan_volk_LIBRARYAdded in version 3.25.
Path to the volk library.
Vulkan_dxc_LIBRARYAdded in version 3.25.
Path to the DirectX shader compiler library.
Vulkan_dxc_EXECUTABLEAdded in version 3.25.
Path to the DirectX shader compiler CLI tool.
Hints¶
Added in version 3.18.
The VULKAN_SDK environment variable optionally specifies the
location of the Vulkan SDK root directory for the given
architecture. It is typically set by sourcing the toplevel
setup-env.sh script of the Vulkan SDK directory into the shell
environment.