On this page
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.
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).
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.
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.
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.
© 2000–2022 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.24/module/FindVulkan.html