Lines Matching +full:cmake +full:-

8 1. [Contributing](#contributing-to-the-repository)
9 1. [Repository Content](#repository-content)
10 1. [Repository Set-Up](#repository-set-up)
11 1. [Windows Build](#building-on-windows)
12 1. [Linux Build](#building-on-linux)
13 1. [Android Build](#building-on-android)
14 1. [MacOS build](#building-on-macos)
33 - *install_dir*`/lib` : The Vulkan validation layer libraries
34 - *install_dir*`/share/vulkan/explicit_layer.d` : The Vulkan validation layer
40 ## Repository Set-Up
44 This repository does not contain a Vulkan-capable driver. You will need to
52 git clone https://github.com/KhronosGroup/Vulkan-ValidationLayers.git
59 1. CMake or Environment variable overrides (e.g., -DVULKAN_HEADERS_INSTALL_DIR)
61 1. System-installed packages, mostly applicable on Linux
68 #### Vulkan-Headers
71 [Vulkan Headers repository](https://github.com/KhronosGroup/Vulkan-Headers).
73 building this repository. The Vulkan-Headers repository is required because it
76 directory and pass it on the CMake command line for building this repository,
89 and pass it on the CMake command line for building this repository, as
100 Vulkan-ValidationLayers repository and run:
104 git checkout tags/release-1.8.1
106 before configuring your build with CMake.
111 #### Vulkan-Loader
121 [Vulkan-Loader repository](https://github.com/KhronosGroup/Vulkan-Loader.git)
123 it on the CMake command line for building this repository, as described below.
135 ### Building Dependent Repositories with Known-Good Revisions
142 as a quick-start tool for common use cases and default configurations.
146 git clone [email protected]:KhronosGroup/Vulkan-ValidationLayers.git
147 cd Vulkan-ValidationLayers
151 For 64-bit Linux and MacOS, continue with:
154 cmake -C helper.cmake ..
155 cmake --build .
157 For 64-bit Windows, continue with:
159 ..\scripts\update_deps.py --arch x64
160 cmake -A x64 -C helper.cmake ..
161 cmake --build .
163 For 32-bit Windows, continue with:
165 ..\scripts\update_deps.py --arch Win32
166 cmake -A Win32 -C helper.cmake ..
167 cmake --build .
174 - You may need to adjust some of the CMake options based on your platform. See
175 the platform-specific sections later in this document.
176 - The `update_deps.py` script fetches and builds the dependent repositories in
179 - The `build` directory is also being used to build this
180 (Vulkan-ValidationLayers) repository. But there shouldn't be any conflicts
183 - The `--dir` option for `update_deps.py` can be used to relocate the
186 - The `update_deps.py` script generates a file named `helper.cmake` and places
188 case). This file contains CMake commands to set the CMake `*_INSTALL_DIR`
190 repositories. You can use this file with the `cmake -C` option to set these
191 variables when you generate your build files with CMake. This lets you avoid
192 entering several `*_INSTALL_DIR` variable settings on the CMake command line.
193 - If using "MINGW" (Git For Windows), you may wish to run
197 - Please use `update_deps.py --help` to list additional options and read the
209 A helper CMake target `VulkanVL_generated_source` is also provided to simplify
212 cmake --build . --target VulkanVL_generated_source
216 When generating native platform build files through CMake, several options can
222 | ------ | -------- | ------- | ----------- |
235 | ------ | -------- | ------- | ----------- |
238 These variables should be set using the `-D` option when invoking CMake to
245 - Windows
246 - Any Personal Computer version supported by Microsoft
247 - Microsoft [Visual Studio](https://www.visualstudio.com/)
248 - Versions
249 - [2015](https://www.visualstudio.com/vs/older-downloads/)
250 - [2017](https://www.visualstudio.com/vs/downloads/)
251 - The Community Edition of each of the above versions is sufficient, as
253 - [CMake 3.10.2](https://cmake.org/files/v3.10/cmake-3.10.2-win64-x64.zip) is recommended.
254 - Use the installer option to add CMake to the system PATH
255 - Git Client Support
256 - [Git for Windows](http://git-scm.com/download/win) is a popular solution
258 - Some IDEs (e.g., [Visual Studio](https://www.visualstudio.com/),
262 ### Windows Build - Microsoft Visual Studio
264 The general approach is to run CMake to generate the Visual Studio project
265 files. Then either run CMake with the `--build` option to build from the
271 cd Vulkan-ValidationLayers
274 cmake -A x64 -DVULKAN_HEADERS_INSTALL_DIR=absolute_path_to_install_dir \
275 -DGLSLANG_INSTALL_DIR=absolute_path_to_install_dir ..
276 cmake --build .
278 The above commands instruct CMake to find and use the default Visual Studio
280 architecture. The second CMake command builds the Debug (default)
285 #### Use `CMake` to Create the Visual Studio Project Files
290 cd Vulkan-ValidationLayers
293 cmake -A x64 -DVULKAN_HEADERS_INSTALL_DIR=absolute_path_to_install_dir \
294 -DGLSLANG_INSTALL_DIR=absolute_path_to_install_dir ..
296 > Note: The `..` parameter tells `cmake` the location of the top of the
300 The `-A` option is used to select either the "Win32" or "x64" architecture.
305 64-bit: -G "Visual Studio 14 2015 Win64"
306 32-bit: -G "Visual Studio 14 2015"
308 See this [list](#cmake-visual-studio-generators) of other possible generators
311 When generating the project files, the absolute path to a Vulkan-Headers
314 `VULKAN_HEADERS_INSTALL_DIR` CMake variable with the `-D` CMake option. In
316 Vulkan-Headers repository built with the install target.
321 `GLSLANG_INSTALL_DIR` CMake variable with the `-D` CMake option. In either
326 `Vulkan-ValidationLayers.sln` in the build directory.
335 cmake --build .
339 cmake --build . --config Release
345 Launch Visual Studio and open the "Vulkan-ValidationLayers.sln" solution file
347 Configurations drop-down list. Start a build by selecting the Build->Build
352 The CMake project also generates an "install" target that you can use to copy
359 files with CMake.
363 cmake --build . --config Release --target install
369 If you do need to build and use your own loader, build the Vulkan-Loader
370 repository with the install target and modify your CMake invocation to add the
373 cmake -A x64 -DVULKAN_HEADERS_INSTALL_DIR=absolute_path_to_install_dir \
374 -DVULKAN_LOADER_INSTALL_DIR=absolute_path_to_install_dir \
375 -DGLSLANG_INSTALL_DIR=absolute_path_to_install_dir ..
382 [vkcube demo](https://www.github.com/KhronosGroup/Vulkan-Tools.git)
394 .\run_all_tests.ps1 -Debug
398 - `vk_layer_validation_tests`:
403 #### CMake Visual Studio Generators
409 | Build Platform | 64-bit Generator | 32-bit Generator |
410 |------------------------------|-------------------------------|-------------------------|
417 (`vulkan-1.dll`) library as well as any other libraries the program requires.
436 [CMake 3.10.2](https://cmake.org/files/v3.10/cmake-3.10.2-Linux-x86_64.tar.gz) is recommended.
440 sudo apt-get install git build-essential libx11-xcb-dev \
441 libxkbcommon-dev libwayland-dev libxrandr-dev \
442 libegl1-mesa-dev
446 The general approach is to run CMake to generate make files. Then either run
447 CMake with the `--build` option or `make` to build from the command line.
451 cd Vulkan-ValidationLayers
454 cmake -DVULKAN_HEADERS_INSTALL_DIR=absolute_path_to_install_dir \
455 -DGLSLANG_INSTALL_DIR=absolute_path_to_install_dir ..
460 #### Use CMake to Create the Make Files
465 cd Vulkan-ValidationLayers
468 cmake -DCMAKE_BUILD_TYPE=Debug \
469 -DVULKAN_HEADERS_INSTALL_DIR=absolute_path_to_install_dir \
470 -DGLSLANG_INSTALL_DIR=absolute_path_to_install_dir \
471 -DCMAKE_INSTALL_PREFIX=install ..
473 > Note: The `..` parameter tells `cmake` the location of the top of the
477 Use `-DCMAKE_BUILD_TYPE` to specify a Debug or Release build.
479 When generating the project files, the absolute path to a Vulkan-Headers
482 `VULKAN_HEADERS_INSTALL_DIR` CMake variable with the `-D` CMake option. In
484 Vulkan-Headers repository built with the install target.
489 `GLSLANG_INSTALL_DIR` CMake variable with the `-D` CMake option. In either
502 To speed up the build on a multi-core machine, use the `-j` option for `make`
505 make -j4
509 cmake --build .
511 If your build system supports ccache, you can enable that via CMake option `-DUSE_CCACHE=On`
518 Vulkan-defined WSI display servers: Xcb, Xlib, and Wayland. It is recommended
522 CMake option of the form `BUILD_WSI_xxx_SUPPORT` can be set to `OFF`.
538 specified when creating the build files with CMake:
540 - `/usr/local/lib`: Vulkan layers shared objects
541 - `/usr/local/share/vulkan/explicit_layer.d`: Layer JSON files
547 CMake variables to override their defaults. For example, if you would like to
548 install to `/tmp/build` instead of `/usr/local`, on your CMake command line
551 -DCMAKE_INSTALL_PREFIX=/tmp/build
557 See the CMake documentation for more details on using these variables to
561 Vulkan-Loader repository for more information about loader and layer
578 - `vk_layer_validation_tests`: Test Vulkan validation layers
580 #### Linux 32-bit support
582 Usage of this repository's contents in 32-bit Linux environments is not
583 officially supported. However, since this repository is supported on 32-bit
584 Windows, these modules should generally work on 32-bit Linux.
586 Here are some notes for building 32-bit targets on a 64-bit Ubuntu "reference"
589 If not already installed, install the following 32-bit development libraries:
591 `gcc-multilib g++-multilib libx11-dev:i386`
596 Set up your environment for building 32-bit targets:
598 export ASFLAGS=--32
599 export CFLAGS=-m32
600 export CXXFLAGS=-m32
601 export PKG_CONFIG_LIBDIR=/usr/lib/i386-linux-gnu
605 Finally, rebuild the repository using `cmake` and `make`, as explained above.
611 You can run the `vkcube` or `vulkaninfo` applications from the Vulkan-Tools
624 - Install [Android Studio 2.3](https://developer.android.com/studio/index.html)
626 - From the "Welcome to Android Studio" splash screen, add the following
628 - SDK Platforms > Android 8.0.0 and newer
629 - SDK Tools > Android SDK Build-Tools
630 - SDK Tools > Android SDK Platform-Tools
631 - SDK Tools > Android SDK Tools
632 - SDK Tools > NDK
636 For each of the below, you may need to specify a different build-tools
642 export ANDROID_NDK_HOME=$HOME/Android/sdk/ndk-bundle
645 export PATH=$ANDROID_SDK_HOME/build-tools/26.0.3:$PATH
650 set ANDROID_NDK_HOME=%LOCALAPPDATA%\Android\sdk\ndk-bundle
651 set PATH=%LOCALAPPDATA%\Android\sdk\ndk-bundle;%PATH%
656 export ANDROID_NDK_HOME=$HOME/Library/Android/sdk/ndk-bundle
658 export PATH=$ANDROID_SDK_HOME/build-tools/26.0.3:$PATH
664 sudo apt-get install openjdk-8-jdk
672 - Follow instructions on [brew.sh](http://brew.sh) to get Homebrew installed.
674 … /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
676 - Ensure Homebrew is at the beginning of your PATH:
680 - Add packages with the following:
688 with SPIRV tools from the NDK, remove the build-android/third_party directory
695 cd build-android
698 Resulting validation layer binaries will be in build-android/libs. Test and
701 ./install_all.sh [-s <serial number>]
711 cd build-android
712 ./update_external_sources_android.sh --no-build
713 ndk-build -j4
720 cd build-android
722 ndk-build
735 cd build-android
737 adb install -r bin/VulkanLayerValidationTests.apk
743 test_APK.sh -s <serial number> -p <plaform name> -f <gtest_filter>
751 [CMake 3.10.2](https://cmake.org/files/v3.10/cmake-3.10.2-Darwin-x86_64.tar.gz) is recommended.
755 - Follow instructions on [brew.sh](http://brew.sh) to get Homebrew installed.
757 … /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
759 - Ensure Homebrew is at the beginning of your PATH:
763 - Add packages with the following (may need refinement)
769 Clone the Vulkan-ValidationLayers repository:
771 git clone https://github.com/KhronosGroup/Vulkan-ValidationLayers.git
775 #### CMake Generators
777 This repository uses CMake to generate build or project files that are then
778 used to build the repository. The CMake generators explicitly supported in
781 - Unix Makefiles
782 - Xcode
791 cmake -DVULKAN_HEADERS_INSTALL_DIR=absolute_path_to_install_dir \
792 -DGLSLANG_INSTALL_DIR=absolute_path_to_install_dir \
793 -DCMAKE_BUILD_TYPE=Debug ..
796 To speed up the build on a multi-core machine, use the `-j` option for `make`
799 make -j4
805 mkdir build-xcode
806 cd build-xcode
807 cmake -DVULKAN_HEADERS_INSTALL_DIR=absolute_path_to_install_dir \
808 -DGLSLANG_INSTALL_DIR=absolute_path_to_install_dir \
809 -GXcode ..
818 You can run the `vulkaninfo` applications from the Vulkan-Tools repository to
830 - MoltenVK ICD
831 - Mock ICD
837 You will have to direct the loader from Vulkan-Loader to the MoltenVK ICD:
843 Clone and build the [Vulkan-Tools](https://github.com/KhronosGroup/Vulkan-Tools) repository.
845 You will have to direct the loader from Vulkan-Loader to the Mock ICD:
847 export VK_ICD_FILENAMES=<path to Vulkan-Tools repository>/build/icd/VkICD_mock_icd.json
857 - `vk_layer_validation_tests`: Test Vulkan validation layers
861 [Vulkan-Tools](https://github.com/KhronosGroup/Vulkan-Tools)