FindVulkan

在 3.7 版被加入.

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

Optional COMPONENTS

在 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

在 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

在 3.19 版被加入.

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

Vulkan::Headers

在 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

在 3.21 版被加入.

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

Vulkan::glslang

在 3.24 版被加入.

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

Vulkan::shaderc_combined

在 3.24 版被加入.

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

Vulkan::SPIRV-Tools

在 3.24 版被加入.

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

Vulkan::MoltenVK

在 3.24 版被加入.

Defined if SDK has the Khronos library which implement a subset of Vulkan API over Apple Metal graphics framework. (MoltenVK).

Vulkan::volk

在 3.25 版被加入.

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

Vulkan::dxc_lib

在 3.25 版被加入.

Defined if SDK has the DirectX shader compiler library.

Vulkan::dxc_exe

在 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

在 3.23 版被加入.

value from vulkan/vulkan_core.h

Vulkan_glslc_FOUND

在 3.24 版被加入.

True, if the SDK has the glslc executable.

Vulkan_glslangValidator_FOUND

在 3.24 版被加入.

True, if the SDK has the glslangValidator executable.

Vulkan_glslang_FOUND

在 3.24 版被加入.

True, if the SDK has the glslang library.

Vulkan_shaderc_combined_FOUND

在 3.24 版被加入.

True, if the SDK has the shaderc_combined library.

Vulkan_SPIRV-Tools_FOUND

在 3.24 版被加入.

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

Vulkan_MoltenVK_FOUND

在 3.24 版被加入.

True, if the SDK has the MoltenVK library.

Vulkan_volk_FOUND

在 3.25 版被加入.

True, if the SDK has the volk library.

Vulkan_dxc_lib_FOUND

在 3.25 版被加入.

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

Vulkan_dxc_exe_FOUND

在 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

在 3.24 版被加入.

Path to the glslang library.

Vulkan_shaderc_combined_LIBRARY

在 3.24 版被加入.

Path to the shaderc_combined library.

Vulkan_SPIRV-Tools_LIBRARY

在 3.24 版被加入.

Path to the SPIRV-Tools library.

Vulkan_MoltenVK_LIBRARY

在 3.24 版被加入.

Path to the MoltenVK library.

Vulkan_volk_LIBRARY

在 3.25 版被加入.

Path to the volk library.

Vulkan_dxc_LIBRARY

在 3.25 版被加入.

Path to the DirectX shader compiler library.

Vulkan_dxc_EXECUTABLE

在 3.25 版被加入.

Path to the DirectX shader compiler CLI tool.

Hints

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