Instructions for building this repository on Windows, Linux, and MacOS.
Since this repository doesn't contain any build targets for libraries or executables, there usually isn't any need to "build" this repository. However, install
and uninstall
targets are provided if you have a need to install the Vulkan headers and registry files to system directories or other location for use by other repositories.
The contents of this repository are sourced primarily from the Khronos Vulkan API specification repository. Please visit that repository for information on contributing.
To create your local git repository:
git clone https://github.com/KhronosGroup/Vulkan-Headers.git
The install
target installs the following files under the directory indicated by "install_dir":
install_dir/include/vulkan
: The header files found in the include/vulkan
directory of this repositoryinstall_dir/share/vulkan/registry
: The registry files found in the registry
directory of this repositoryWindows 7+ with the following software packages:
The general approach is to run cmake
to generate the VS project files. Then either run cmake
again to build from the command line or use the Visual Studio IDE to open the generated solution and work with the solution interactively.
It should be possible to perform these cmake
invocations from any one of the Windows "terminal programs", including the standard Windows Command Prompt, MSBuild Command Prompt, PowerShell, MINGW, CygWin, etc.
cmake
to create the VS project filesSwitch to the top of the cloned repository directory, create a build directory and generate the VS project files:
cd Vulkan-Headers mkdir build cd build cmake ..
The default install directory location is $CMAKE_BINARY_DIR\install
, which is your Vulkan-Headers\build\install
directory.
This default setting sets the install destination to Vulkan-Headers\build\install
and causes the header files to be installed to Vulkan-Headers\build\install\include/vulkan
and the registry files to be installed to Vulkan-Headers\build\install\share\vulkan\registry
.
The install location can be changed with the CMAKE_INSTALL_PREFIX
variable.
For example:
cd Vulkan-Headers mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=/c/Users/dev/install .. # MINGW64 shell
As it starts generating the project files, cmake
responds with something like:
-- Building for: Visual Studio 14 2015
which is a 32-bit generator.
Since this repository does not compile anything, there is no need to specify a specific generator such as "Visual Studio 14 2015 Win64", so the default generator should suffice.
This creates a Windows solution file named Vulkan-Headers.sln
in the build directory.
At this point, you can build the solution from the command line or open the generated solution with Visual Studio.
While still in the build directory:
cmake --build . --target install
to build the install target.
Build the uninstall
target to remove the files from the install location.
cmake --build . --target uninstall
Launch Visual Studio and open the "Vulkan-Headers.sln" solution file in the build folder. Build the INSTALL
target from the Visual Studio solution explorer.
Build the uninstall
target to remove the files from the install location.
cmake --build . --target uninstall
There are no specific Linux distribution or compiler verison requirements for building this repository.
Switch to the top of the cloned repository directory, create a build directory and generate the make files:
cd Vulkan-Headers mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=install ..
Set the CMAKE_INSTALL_PREFIX
variable to the directory to serve as the destination directory for the install
target. The above setting sets the install destination to Vulkan-Headers/build/install
which causes the header files to be installed to Vulkan-Headers/build/install/include/vulkan
and the registry files to be installed to Vulkan-Headers/build/install/share/vulkan/registry
For Linux, the default value for CMAKE_INSTALL_PREFIX
is /usr/local
, which would be used if you do not specify CMAKE_INSTALL_PREFIX
. In this case, you may need to use sudo
to install to system directories later when you run make install
.
Note that after generating the make files, running make
:
make
does nothing, since there are no libraries or executables to build.
To install the header files:
make install
To uninstall the files from the install directories, you can execute:
make uninstall
The instructions for installing the headers for MacOS are the same as those for Linux.