Lines Matching +full:add +full:- +full:apt +full:- +full:repository
3 Instructions for building this repository on Linux, Windows, and MacOS.
7 - [Build Instructions](#build-instructions)
8 - [Table Of Contents](#table-of-contents)
9 - [Contributing to the Repository](#contributing-to-the-repository)
10 - [Repository Content](#repository-content)
11 - [Installed Files](#installed-files)
12 - [Build Requirements](#build-requirements)
13 - [Test Requirements](#test-requirements)
14 - [Repository Set-Up](#repository-set-up)
15 - [Display Drivers](#display-drivers)
16 - [Repository Dependencies](#repository-dependencies)
17 - [Vulkan-Headers](#vulkan-headers)
18 - [Test Dependencies](#test-dependencies)
19 - [Build and Install Directory Locations](#build-and-install-directory-locations)
20 …- [Building Dependent Repositories with Known-Good Revisions](#building-dependent-repositories-wit…
21 - [Automatically](#automatically)
22 - [Manually](#manually)
23 - [Notes About the Manual Option](#notes-about-the-manual-option)
24 - [Generated source code](#generated-source-code)
25 - [Build Options](#build-options)
26 - [Building On Windows](#building-on-windows)
27 - [Windows Development Environment Requirements](#windows-development-environment-requirements)
28 - [Windows Build - Microsoft Visual Studio](#windows-build---microsoft-visual-studio)
29 - [Windows Quick Start](#windows-quick-start)
30 …- [Use `CMake` to Create the Visual Studio Project Files](#use-cmake-to-create-the-visual-studio-p…
31 - [Build the Solution From the Command Line](#build-the-solution-from-the-command-line)
32 - [Build the Solution With Visual Studio](#build-the-solution-with-visual-studio)
33 - [Windows Install Target](#windows-install-target)
34 - [Building On Linux](#building-on-linux)
35 - [Linux Development Environment Requirements](#linux-development-environment-requirements)
36 - [Required Package List](#required-package-list)
37 - [Linux Build](#linux-build)
38 - [Linux Quick Start](#linux-quick-start)
39 - [Use CMake to Create the Make Files](#use-cmake-to-create-the-make-files)
40 - [Build the Project](#build-the-project)
41 - [Linux Notes](#linux-notes)
42 - [WSI Support Build Options](#wsi-support-build-options)
43 - [Linux Install to System Directories](#linux-install-to-system-directories)
44 - [Linux 32-bit support](#linux-32-bit-support)
45 - [Building on MacOS](#building-on-macos)
46 - [MacOS Development Environment Requirements](#macos-development-environment-requirements)
47 - [Clone the Repository](#clone-the-repository)
48 - [MacOS build](#macos-build)
49 - [Building with the Unix Makefiles Generator](#building-with-the-unix-makefiles-generator)
50 - [Building with the Xcode Generator](#building-with-the-xcode-generator)
51 - [Building on Fuchsia](#building-on-fuchsia)
52 - [SDK Symbols](#sdk-symbols)
53 - [Building on QNX](#building-on-qnx)
54 - [Cross Compilation](#cross-compilation)
55 …- [Unknown function handling which requires explicit assembly implementations](#unknown-function-h…
56 …- [Platforms which fully support unknown function handling](#platforms-which-fully-support-unknown…
57 - [Link Time Optimization](#link-time-optimization)
58 - [Tests](#tests)
61 ## Contributing to the Repository
64 your contribution in a fork of this repository in your GitHub account and then
66 in this repository for more details.
68 ## Repository Content
70 This repository contains the source code necessary to build the desktop Vulkan
78 - *install_dir*`/lib` : The Vulkan loader library
79 - *install_dir*`/bin` : The Vulkan loader library DLL (Windows)
91 ## Repository Set-Up
95 This repository does not contain a Vulkan-capable driver. You will need to
100 ### Repository Dependencies
102 This repository attempts to resolve some of its dependencies by using
105 1. CMake or Environment variable overrides (e.g., -D VULKAN_HEADERS_INSTALL_DIR)
106 2. System-installed packages, mostly applicable on Linux
113 #### Vulkan-Headers
115 This repository has a required dependency on the [Vulkan Headers repository](https://github.com/Khr…
116 The Vulkan-Headers repository contains the Vulkan API definition files that are
124 To build the tests, pass both `-D UPDATE_DEPS=ON` and `-D BUILD_TESTS=ON` options when generating t…
126 cmake ... -D UPDATE_DEPS=ON -D BUILD_TESTS=ON ...
138 Add `-D BUILD_WERROR=ON` to your workflow
143 the repository and place the `install` directory as a child of the `build`
147 ### Building Dependent Repositories with Known-Good Revisions
151 This program uses information stored in the `scripts/known-good.json` file
152 to checkout dependent repository revisions that are known to be compatible with
153 the revision of this repository that you currently have checked out.
156 The first step to either is cloning the Vulkan-Loader repo and stepping into
160 git clone git@github.com:KhronosGroup/Vulkan-Loader.git
161 cd Vulkan-Loader
167 heavy-lifting, you may just trigger the following CMake commands:
170 cmake -S . -B build -D UPDATE_DEPS=On
171 cmake --build build
183 cmake -C helper.cmake ..
184 cmake --build .
189 - You may need to adjust some of the CMake options based on your platform. See
190 the platform-specific sections later in this document.
191 - The `update_deps.py` script fetches and builds the dependent repositories in
193 - The `--dir` option for `update_deps.py` can be used to relocate the
196 - The `update_deps.py` script generates a file named `helper.cmake` and places
200 The `-C helper.cmake` option is used to set these variables when you generate
202 - If using "MINGW" (Git For Windows), you may wish to run
206 - Please use `update_deps.py --help` to list additional options and read the
211 This repository contains generated source code in the `loader/generated`
216 Run `python scripts/generate_source.py --help` to see how to invoke it.
220 Note: By default this helper target is disabled. To enable it, add `-D LOADER_CODEGEN=ON`
224 cmake -S . -B build -D LOADER_CODEGEN=ON
225 cmake --build . --target loader_codegen
232 The following is a table of all on/off options currently supported by this repository:
235 …------------------------------- | ------------- | ------- | --------------------------------------…
242 … | `OFF` | Link the loader to the [OneCore](https://msdn.microsoft.com/en-us/library/windows/de…
252 The following is a table of all string options currently supported by this repository:
255 …--------------------- | ----------- | ----------------------------- | ----------------------------…
260 These variables should be set using the `-D` option when invoking CMake to generate the native plat…
266 - Windows
267 - Any Personal Computer version supported by Microsoft
268 - Microsoft [Visual Studio](https://www.visualstudio.com/)
269 - Versions
270 - [2022](https://www.visualstudio.com/vs/downloads/)
271 - [2019](https://www.visualstudio.com/vs/older-downloads/)
272 - The Community Edition of each of the above versions is sufficient, as
274 - [CMake 3.17.2](https://cmake.org/files/v3.17/cmake-3.17.2-win64-x64.zip) is recommended.
275 - Use the installer option to add CMake to the system PATH
276 - Git Client Support
277 - [Git for Windows](http://git-scm.com/download/win) is a popular solution
279 - Some IDEs (e.g., [Visual Studio](https://www.visualstudio.com/),
283 ### Windows Build - Microsoft Visual Studio
286 files. Then either run CMake with the `--build` option to build from the
294 cd Vulkan-Loader
297 cmake -A x64 -D UPDATE_DEPS=ON ..
298 cmake --build .
307 Change your current directory to the top of the cloned repository directory,
310 cd Vulkan-Loader
313 cmake -D UPDATE_DEPS=ON -G "Visual Studio 16 2019" -A x64 ..
316 > repository. If you place your build directory someplace else, you'll need to
317 > specify the location of the repository differently.
319 The `-G` option is used to select the generator
325 The `-A` option is used to select either the "Win32", "x64", or "ARM64 architecture.
327 When generating the project files, the absolute path to a Vulkan-Headers
329 `-D UPDATE_DEPS=ON` option, by directly setting the
331 `VULKAN_HEADERS_INSTALL_DIR` CMake variable with the `-D` CMake option. In
333 Vulkan-Headers repository built with the install target.
335 The above steps create a Windows solution file named `Vulkan-Loader.sln` in
345 cmake --build .
349 cmake --build . --config Release
355 Launch Visual Studio and open the "Vulkan-Loader.sln" solution file in the
357 Configurations drop-down list. Start a build by selecting the Build->Build
373 cmake --build . --config Release --target install
381 This repository has been built and tested on the two most recent Ubuntu LTS
383 It is be straightforward to adapt this repository to other Linux distributions.
385 [CMake 3.17.2](https://cmake.org/files/v3.17/cmake-3.17.2-Linux-x86_64.tar.gz) is recommended.
389 sudo apt-get install git build-essential libx11-xcb-dev \
390 libxkbcommon-dev libwayland-dev libxrandr-dev
395 CMake with the `--build` option or `make` to build from the command line.
399 cd Vulkan-Loader
402 cmake -D UPDATE_DEPS=ON ..
409 Change your current directory to the top of the cloned repository directory,
412 cd Vulkan-Loader
415 cmake -D CMAKE_BUILD_TYPE=Debug \
416 -D VULKAN_HEADERS_INSTALL_DIR=absolute_path_to_install_dir \
417 -D CMAKE_INSTALL_PREFIX=install ..
420 > repository. If you place your `build` directory someplace else, you'll need
421 > to specify the location of the repository top differently.
423 Use `-D CMAKE_BUILD_TYPE` to specify a Debug or Release build.
425 When generating the project files, the absolute path to a Vulkan-Headers
427 `-D UPDATE_DEPS=ON` option, by directly setting the `VULKAN_HEADERS_INSTALL_DIR`
429 variable with the `-D` CMake option.
431 Vulkan-Headers repository built with the install target.
442 To speed up the build on a multi-core machine, use the `-j` option for `make`
445 make -j4
449 cmake --build .
455 By default, the Vulkan Loader is built with support for the Vulkan-defined WSI
457 repository components with support for these display servers to maximize their
478 - `/usr/local/lib`: Vulkan loader library and package config files
488 -D CMAKE_INSTALL_PREFIX=/tmp/build
512 repository for more information about loader operation.
514 #### Linux 32-bit support
516 The loader supports building in 32-bit Linux environments.
518 Here are some notes for building this repo as 32-bit on a 64-bit Ubuntu
521 If not already installed, install the following 32-bit development libraries:
523 `gcc-multilib gcc-multilib g++-multilib libc6:i386 libc6-dev-i386 libgcc-s1:i386 libwayland-dev:i38…
528 Set up your environment for building 32-bit targets:
530 export CFLAGS=-m32
531 export CXXFLAGS=-m32
532 export LDFLAGS=-m32
533 export ASFLAGS=--32
537 Finally, build the repository normally as explained above.
539 These notes are taken from the Github Actions workflow `linux-32` which is run
548 - Ensure Homebrew is at the beginning of your PATH:
552 - Add packages with the following (may need refinement)
556 ### Clone the Repository
558 Clone the Vulkan-Loader repository:
560 git clone https://github.com/KhronosGroup/Vulkan-Loader.git
564 [CMake 3.17.2](https://cmake.org/files/v3.17/cmake-3.17.2-Darwin-x86_64.tar.gz) is recommended.
570 When generating the project files, the absolute path to a Vulkan-Headers
572 `-D UPDATE_DEPS=ON` option, by directly setting the
574 `VULKAN_HEADERS_INSTALL_DIR` CMake variable with the `-D` CMake option. In
576 Vulkan-Headers repository built with the install target.
580 …cmake -D UPDATE_DEPS=ON -D VULKAN_HEADERS_INSTALL_DIR=absolute_path_to_install_dir -D CMAKE_BUILD_…
583 To speed up the build on a multi-core machine, use the `-j` option for `make`
586 make -j4
592 mkdir build-xcode
593 cd build-xcode
594 cmake -GXcode ..
595 open Vulkan-Loader.xcodeproj
607 the file vulkan.symbols.api; see [SDK](https://fuchsia.dev/fuchsia-src/development/sdk).
637 Platforms not listed will use a fallback C Code path that relies on tail-call optimization to work.
648 the command line, this looks like `-D BUILD_TESTS=ON`.