FindVulkan¶
New in version 3.7.
Find Vulkan, which is a low-overhead, cross-platform 3D graphics and computing API.
Optional COMPONENTS¶
New 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.
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::glslcNew in version 3.19.
The GLSLC SPIR-V compiler, if it has been found.
Vulkan::HeadersNew 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::glslangValidatorNew in version 3.21.
The glslangValidator tool, if found. It is used to compile GLSL and HLSL shaders into SPIR-V.
Vulkan::glslangNew in version 3.24.
Defined if SDK has the Khronos-reference front-end shader parser and SPIR-V generator library (glslang).
Vulkan::shaderc_combinedNew in version 3.24.
Defined if SDK has the Google static library for Vulkan shader compilation (shaderc_combined).
Vulkan::SPIRV-ToolsNew in version 3.24.
Defined if SDK has the Khronos library to process SPIR-V modules (SPIRV-Tools).
Vulkan::MoltenVKNew in version 3.24.
Defined if SDK has the Khronos library which implement a subset of Vulkan API over Apple Metal graphics framework. (MoltenVK).
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_VERSIONNew in version 3.23.
value from
vulkan/vulkan_core.hVulkan_glslc_FOUNDNew in version 3.24.
True, if the SDK has the glslc executable.
Vulkan_glslangValidator_FOUNDNew in version 3.24.
True, if the SDK has the glslangValidator executable.
Vulkan_glslang_FOUNDNew in version 3.24.
True, if the SDK has the glslang library.
Vulkan_shaderc_combined_FOUNDNew in version 3.24.
True, if the SDK has the shaderc_combined library.
Vulkan_SPIRV-Tools_FOUNDNew in version 3.24.
True, if the SDK has the SPIRV-Tools library.
Vulkan_MoltenVK_FOUNDNew in version 3.24.
True, if the SDK has the MoltenVK library.
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_LIBRARYNew in version 3.24.
Path to the glslang library.
Vulkan_shaderc_combined_LIBRARYNew in version 3.24.
Path to the shaderc_combined library.
Vulkan_SPIRV-Tools_LIBRARYNew in version 3.24.
Path to the SPIRV-Tools library.
Vulkan_MoltenVK_LIBRARYNew in version 3.24.
Path to the MoltenVK library.
Hints¶
New 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.