New in version 3.7.

Find Vulkan, which is a low-overhead, cross-platform 3D graphics and computing API.


This module defines IMPORTED targets if Vulkan has been found:


The main Vulkan library.


New in version 3.19.

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


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.


New in version 3.21.

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

Result Variables

This module defines the following variables:

Vulkan_FOUND          - "True" if Vulkan was found
Vulkan_INCLUDE_DIRS   - include directories for Vulkan
Vulkan_LIBRARIES      - link against this library to use Vulkan

The module will also define three 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


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 script of the Vulkan SDK directory into the shell environment.