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.
glslc
The SPIR-V compiler.
glslangValidator
The
glslangValidator
tool.glslang
The SPIR-V generator library.
shaderc_combined
The static library for Vulkan shader compilation.
SPIRV-Tools
Tools to process SPIR-V modules.
MoltenVK
On macOS, an additional component
MoltenVK
is available.dxc
New 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::Vulkan
The main Vulkan library.
Vulkan::glslc
New in version 3.19.
The GLSLC SPIR-V compiler, if it has been found.
Vulkan::Headers
New 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::glslangValidator
New in version 3.21.
The glslangValidator tool, if found. It is used to compile GLSL and HLSL shaders into SPIR-V.
Vulkan::glslang
New in version 3.24.
Defined if SDK has the Khronos-reference front-end shader parser and SPIR-V generator library (glslang).
Vulkan::shaderc_combined
New in version 3.24.
Defined if SDK has the Google static library for Vulkan shader compilation (shaderc_combined).
Vulkan::SPIRV-Tools
New in version 3.24.
Defined if SDK has the Khronos library to process SPIR-V modules (SPIRV-Tools).
Vulkan::MoltenVK
New 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::volk
New in version 3.25.
Defined if SDK has the Vulkan meta-loader (volk).
Vulkan::dxc_lib
New in version 3.25.
Defined if SDK has the DirectX shader compiler library.
Vulkan::dxc_exe
New in version 3.25.
Defined if SDK has the DirectX shader compiler CLI tool.
Result Variables¶
This module defines the following variables:
Vulkan_FOUND
set to true if Vulkan was found
Vulkan_INCLUDE_DIRS
include directories for Vulkan
Vulkan_LIBRARIES
link against this library to use Vulkan
Vulkan_VERSION
New in version 3.23.
value from
vulkan/vulkan_core.h
Vulkan_glslc_FOUND
New in version 3.24.
True, if the SDK has the glslc executable.
Vulkan_glslangValidator_FOUND
New in version 3.24.
True, if the SDK has the glslangValidator executable.
Vulkan_glslang_FOUND
New in version 3.24.
True, if the SDK has the glslang library.
Vulkan_shaderc_combined_FOUND
New in version 3.24.
True, if the SDK has the shaderc_combined library.
Vulkan_SPIRV-Tools_FOUND
New in version 3.24.
True, if the SDK has the SPIRV-Tools library.
Vulkan_MoltenVK_FOUND
New in version 3.24.
True, if the SDK has the MoltenVK library.
Vulkan_volk_FOUND
New in version 3.25.
True, if the SDK has the volk library.
Vulkan_dxc_lib_FOUND
New in version 3.25.
True, if the SDK has the DirectX shader compiler library.
Vulkan_dxc_exe_FOUND
New 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_DIR
the Vulkan include directory
Vulkan_LIBRARY
the path to the Vulkan library
Vulkan_GLSLC_EXECUTABLE
the path to the GLSL SPIR-V compiler
Vulkan_GLSLANG_VALIDATOR_EXECUTABLE
the path to the glslangValidator tool
Vulkan_glslang_LIBRARY
New in version 3.24.
Path to the glslang library.
Vulkan_shaderc_combined_LIBRARY
New in version 3.24.
Path to the shaderc_combined library.
Vulkan_SPIRV-Tools_LIBRARY
New in version 3.24.
Path to the SPIRV-Tools library.
Vulkan_MoltenVK_LIBRARY
New in version 3.24.
Path to the MoltenVK library.
Vulkan_volk_LIBRARY
New in version 3.25.
Path to the volk library.
Vulkan_dxc_LIBRARY
New in version 3.25.
Path to the DirectX shader compiler library.
Vulkan_dxc_EXECUTABLE
New in version 3.25.
Path to the DirectX shader compiler CLI tool.
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.