Added in version 3.7.
Find Vulkan, which is a low-overhead, cross-platform 3D graphics and computing API.
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).
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.
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.
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.
© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/module/FindVulkan.html