# FindVulkan

New in version 3.7.

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

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

## 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`

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

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