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.

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

Added 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

Added in version 3.19.

The GLSLC SPIR-V compiler, if it has been found.

Vulkan::Headers

Added 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

Added in version 3.21.

The glslangValidator tool, if found. It is used to compile GLSL and HLSL shaders into SPIR-V.

Vulkan::glslang

Added in version 3.24.

Defined if SDK has the Khronos-reference front-end shader parser and SPIR-V generator library (glslang).

Vulkan::shaderc_combined

Added in version 3.24.

Defined if SDK has the Google static library for Vulkan shader compilation (shaderc_combined).

Vulkan::SPIRV-Tools

Added in version 3.24.

Defined if SDK has the Khronos library to process SPIR-V modules (SPIRV-Tools).

Vulkan::MoltenVK

Added 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

Added in version 3.25.

Defined if SDK has the Vulkan meta-loader (volk).

Vulkan::dxc_lib

Added in version 3.25.

Defined if SDK has the DirectX shader compiler library.

Vulkan::dxc_exe

Added 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

Added in version 3.23.

value from vulkan/vulkan_core.h

Vulkan_glslc_FOUND

Added in version 3.24.

True, if the SDK has the glslc executable.

Vulkan_glslangValidator_FOUND

Added in version 3.24.

True, if the SDK has the glslangValidator executable.

Vulkan_glslang_FOUND

Added in version 3.24.

True, if the SDK has the glslang library.

Vulkan_shaderc_combined_FOUND

Added in version 3.24.

True, if the SDK has the shaderc_combined library.

Vulkan_SPIRV-Tools_FOUND

Added in version 3.24.

True, if the SDK has the SPIRV-Tools library.

Vulkan_MoltenVK_FOUND

Added in version 3.24.

True, if the SDK has the MoltenVK library.

Vulkan_volk_FOUND

Added in version 3.25.

True, if the SDK has the volk library.

Vulkan_dxc_lib_FOUND

Added in version 3.25.

True, if the SDK has the DirectX shader compiler library.

Vulkan_dxc_exe_FOUND

Added 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

Added in version 3.24.

Path to the glslang library.

Vulkan_shaderc_combined_LIBRARY

Added in version 3.24.

Path to the shaderc_combined library.

Vulkan_SPIRV-Tools_LIBRARY

Added in version 3.24.

Path to the SPIRV-Tools library.

Vulkan_MoltenVK_LIBRARY

Added in version 3.24.

Path to the MoltenVK library.

Vulkan_volk_LIBRARY

Added in version 3.25.

Path to the volk library.

Vulkan_dxc_LIBRARY

Added in version 3.25.

Path to the DirectX shader compiler library.

Vulkan_dxc_EXECUTABLE

Added 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.