From aaf0cb61c4ceae4b89f75fb01f0cd8c893146caa Mon Sep 17 00:00:00 2001 From: Jan Kuhlmann <33833587+M2-TE@users.noreply.github.com> Date: Wed, 13 Aug 2025 20:30:26 +0200 Subject: [PATCH] CI: Reduce build times by reusing generated headers (#2254) * reuse generated headers inbetween runs * properly access env var * fix windows compiler arg * reintroduce ubuntu24 ci compilers * fixed CXX_MODULES flag logic * echoing build parameters, removing use of Ninja from windows CI * fixed echo and temporarily disabled all but windows CI * reenabled all ci * compile glm, glfw and glslang once, fixed SPIRV include path * remove usage of Ninja from windows ci (again) * fixed glfw name to glfw3 * removed.. debug things * remove dep install step from windows, enforce correct linking in utils * compiling generators in debug mode without running them --- .github/workflows/ci-macos.yml | 104 ++++++++++++--- .github/workflows/ci-ubuntu-22.yml | 109 +++++++++++++--- .github/workflows/ci-ubuntu-24.yml | 119 +++++++++++++++--- .github/workflows/ci-windows.yml | 103 ++++++++++++--- CMakeLists.txt | 23 +++- .../11_InitShaders/11_InitShaders.cpp | 1 - .../14_InitPipeline/14_InitPipeline.cpp | 1 - RAII_Samples/15_DrawCube/15_DrawCube.cpp | 1 - .../DrawTexturedCube/DrawTexturedCube.cpp | 1 - .../DynamicUniform/DynamicUniform.cpp | 1 - .../ImmutableSampler/ImmutableSampler.cpp | 1 - RAII_Samples/InitTexture/InitTexture.cpp | 5 +- .../InputAttachment/InputAttachment.cpp | 1 - RAII_Samples/MultipleSets/MultipleSets.cpp | 1 - .../OcclusionQuery/OcclusionQuery.cpp | 1 - RAII_Samples/PipelineCache/PipelineCache.cpp | 1 - .../PipelineDerivative/PipelineDerivative.cpp | 1 - RAII_Samples/PushConstants/PushConstants.cpp | 1 - .../PushDescriptors/PushDescriptors.cpp | 1 - RAII_Samples/RayTracing/CameraManipulator.cpp | 1 + RAII_Samples/RayTracing/RayTracing.cpp | 1 - .../SecondaryCommandBuffer.cpp | 1 - .../SeparateImageSampler.cpp | 1 - RAII_Samples/Template/Template.cpp | 1 - RAII_Samples/TexelBuffer/TexelBuffer.cpp | 1 - samples/11_InitShaders/11_InitShaders.cpp | 1 - samples/14_InitPipeline/14_InitPipeline.cpp | 1 - samples/15_DrawCube/15_DrawCube.cpp | 1 - samples/DrawTexturedCube/DrawTexturedCube.cpp | 1 - samples/DynamicUniform/DynamicUniform.cpp | 1 - samples/ImmutableSampler/ImmutableSampler.cpp | 1 - samples/InitTexture/InitTexture.cpp | 1 - samples/InputAttachment/InputAttachment.cpp | 1 - samples/MultipleSets/MultipleSets.cpp | 1 - samples/OcclusionQuery/OcclusionQuery.cpp | 1 - samples/PipelineCache/PipelineCache.cpp | 1 - .../PipelineDerivative/PipelineDerivative.cpp | 1 - samples/PushConstants/PushConstants.cpp | 1 - samples/PushDescriptors/PushDescriptors.cpp | 1 - samples/RayTracing/CameraManipulator.cpp | 1 + samples/RayTracing/RayTracing.cpp | 1 - .../SecondaryCommandBuffer.cpp | 1 - .../SeparateImageSampler.cpp | 1 - samples/SharedHandles/SharedHandles.cpp | 1 - samples/Template/Template.cpp | 1 - samples/TexelBuffer/TexelBuffer.cpp | 1 - samples/utils/CMakeLists.txt | 8 +- samples/utils/shaders.cpp | 2 +- tests/UniqueHandle/UniqueHandle.cpp | 2 +- 49 files changed, 398 insertions(+), 117 deletions(-) diff --git a/.github/workflows/ci-macos.yml b/.github/workflows/ci-macos.yml index 0341ea5..2b9bb3d 100644 --- a/.github/workflows/ci-macos.yml +++ b/.github/workflows/ci-macos.yml @@ -13,8 +13,6 @@ jobs: matrix: os: [macos-14, macos-15] compiler: [clang++] - cpp_standard: [11, 14, 17, 20, 23] - build_type: [Debug, Release] steps: - uses: actions/checkout@v4 @@ -29,16 +27,94 @@ jobs: uses: ashutoshvarma/setup-ninja@master with: version: 1.11.0 - - - name: Build + + - name: Install glm, glfw and glslang run: | - cmake -B build/${{matrix.cpp_standard}}/${{matrix.build_type}} -GNinja \ - -DVULKAN_HPP_SAMPLES_BUILD=ON \ - -DVULKAN_HPP_TESTS_BUILD=ON \ - -DVULKAN_HPP_BUILD_WITH_LOCAL_VULKAN_HPP=ON \ - -DVULKAN_HPP_PRECOMPILE=OFF \ - -DVULKAN_HPP_RUN_GENERATOR=ON \ - -DCMAKE_CXX_COMPILER=${{matrix.compiler}} \ - -DCMAKE_CXX_STANDARD=${{matrix.cpp_standard}} \ - -DCMAKE_BUILD_TYPE=${{matrix.build_type}} - cmake --build build/${{matrix.cpp_standard}}/${{matrix.build_type}} --parallel + cd glm + cmake -B build -G Ninja \ + -D CMAKE_CXX_COMPILER=${{matrix.compiler}} \ + -D CMAKE_CXX_STANDARD=11 \ + -D CMAKE_BUILD_TYPE=Release \ + -D GLM_BUILD_LIBRARY=ON \ + -D GLM_BUILD_INSTALL=ON \ + -D GLM_BUILD_TESTS=OFF + cmake --build build --parallel + sudo cmake --install build + + cd ../glfw + cmake -B build -G Ninja \ + -D CMAKE_CXX_COMPILER=${{matrix.compiler}} \ + -D CMAKE_CXX_STANDARD=11 \ + -D CMAKE_BUILD_TYPE=Release \ + -D GLFW_BUILD_EXAMPLES=OFF \ + -D GLFW_BUILD_TESTS=OFF \ + -D GLFW_BUILD_DOCS=OFF \ + -D GLFW_INSTALL=ON + cmake --build build --parallel + sudo cmake --install build + + cd ../glslang + cmake -B build -G Ninja \ + -D CMAKE_CXX_COMPILER=${{matrix.compiler}} \ + -D CMAKE_CXX_STANDARD=11 \ + -D CMAKE_BUILD_TYPE=Release \ + -D ENABLE_OPT=OFF \ + -D GLSLANG_TESTS_DEFAULT=OFF \ + -D GLSLANG_ENABLE_INSTALL_DEFAULT=ON + cmake --build build --parallel + sudo cmake --install build + cd .. + + - name: Generate headers + run: | + cmake -B build -G Ninja \ + -D VULKAN_HPP_GENERATOR_BUILD=ON \ + -D VULKAN_HPP_RUN_GENERATOR=OFF \ + -D VULKAN_HPP_SAMPLES_BUILD=OFF \ + -D VULKAN_HPP_TESTS_BUILD=OFF \ + -D VULKAN_HPP_ENABLE_CPP20_MODULES=OFF \ + -D VULKAN_HPP_DISPATCH_LOADER_DYNAMIC=ON \ + -D VULKAN_HPP_BUILD_WITH_LOCAL_VULKAN_HPP=ON \ + -D VULKAN_HPP_PRECOMPILE=OFF \ + -D CMAKE_CXX_COMPILER=${{matrix.compiler}} \ + -D CMAKE_CXX_STANDARD=20 \ + -D CMAKE_BUILD_TYPE=Debug + cmake --build build --parallel + + cmake -B build -G Ninja --fresh \ + -D VULKAN_HPP_GENERATOR_BUILD=ON \ + -D VULKAN_HPP_RUN_GENERATOR=ON \ + -D VULKAN_HPP_SAMPLES_BUILD=OFF \ + -D VULKAN_HPP_TESTS_BUILD=OFF \ + -D VULKAN_HPP_ENABLE_CPP20_MODULES=OFF \ + -D VULKAN_HPP_DISPATCH_LOADER_DYNAMIC=ON \ + -D VULKAN_HPP_BUILD_WITH_LOCAL_VULKAN_HPP=ON \ + -D VULKAN_HPP_PRECOMPILE=OFF \ + -D CMAKE_CXX_COMPILER=${{matrix.compiler}} \ + -D CMAKE_CXX_STANDARD=20 \ + -D CMAKE_BUILD_TYPE=Release + cmake --build build --parallel --clean-first + + - name: Build samples and tests + run: | + for CXX_STANDARD in 11 14 17 20 23; do + for BUILD_TYPE in Debug Release; do + echo "=================================================================================" + echo "Building C++$CXX_STANDARD in $BUILD_TYPE" + echo "=================================================================================" + + cmake -B build -G Ninja --fresh \ + -D VULKAN_HPP_GENERATOR_BUILD=OFF \ + -D VULKAN_HPP_RUN_GENERATOR=OFF \ + -D VULKAN_HPP_SAMPLES_BUILD=ON \ + -D VULKAN_HPP_TESTS_BUILD=ON \ + -D VULKAN_HPP_ENABLE_CPP20_MODULES=OFF \ + -D VULKAN_HPP_DISPATCH_LOADER_DYNAMIC=ON \ + -D VULKAN_HPP_BUILD_WITH_LOCAL_VULKAN_HPP=ON \ + -D VULKAN_HPP_PRECOMPILE=OFF \ + -D CMAKE_CXX_COMPILER=${{matrix.compiler}} \ + -D CMAKE_CXX_STANDARD=$CXX_STANDARD \ + -D CMAKE_BUILD_TYPE=$BUILD_TYPE + cmake --build build --parallel --clean-first + done + done diff --git a/.github/workflows/ci-ubuntu-22.yml b/.github/workflows/ci-ubuntu-22.yml index 9933988..8684bf7 100644 --- a/.github/workflows/ci-ubuntu-22.yml +++ b/.github/workflows/ci-ubuntu-22.yml @@ -16,11 +16,6 @@ jobs: strategy: matrix: compiler: [clang++-13, clang++-14, clang++-15, g++-10, g++-11, g++-12] - cpp_standard: [11, 14, 17, 20, 23] - build_type: [Debug, Release] - exclude: - - cpp_standard: 23 - compiler: g++-10 steps: - uses: actions/checkout@v4 @@ -35,15 +30,97 @@ jobs: with: version: 1.11.0 - - name: Build + - name: Install glm, glfw and glslang run: | - cmake -B build/${{matrix.cpp_standard}}/${{matrix.build_type}} -GNinja \ - -DVULKAN_HPP_SAMPLES_BUILD=ON \ - -DVULKAN_HPP_TESTS_BUILD=ON \ - -DVULKAN_HPP_BUILD_WITH_LOCAL_VULKAN_HPP=ON \ - -DVULKAN_HPP_PRECOMPILE=OFF \ - -DVULKAN_HPP_RUN_GENERATOR=ON \ - -DCMAKE_CXX_COMPILER=${{matrix.compiler}} \ - -DCMAKE_CXX_STANDARD=${{matrix.cpp_standard}} \ - -DCMAKE_BUILD_TYPE=${{matrix.build_type}} - cmake --build build/${{matrix.cpp_standard}}/${{matrix.build_type}} --parallel + cd glm + cmake -B build -G Ninja \ + -D CMAKE_CXX_COMPILER=${{matrix.compiler}} \ + -D CMAKE_CXX_STANDARD=11 \ + -D CMAKE_BUILD_TYPE=Release \ + -D GLM_BUILD_LIBRARY=ON \ + -D GLM_BUILD_INSTALL=ON \ + -D GLM_BUILD_TESTS=OFF + cmake --build build --parallel + sudo cmake --install build + + cd ../glfw + cmake -B build -G Ninja \ + -D CMAKE_CXX_COMPILER=${{matrix.compiler}} \ + -D CMAKE_CXX_STANDARD=11 \ + -D CMAKE_BUILD_TYPE=Release \ + -D GLFW_BUILD_EXAMPLES=OFF \ + -D GLFW_BUILD_TESTS=OFF \ + -D GLFW_BUILD_DOCS=OFF \ + -D GLFW_INSTALL=ON + cmake --build build --parallel + sudo cmake --install build + + cd ../glslang + cmake -B build -G Ninja \ + -D CMAKE_CXX_COMPILER=${{matrix.compiler}} \ + -D CMAKE_CXX_STANDARD=11 \ + -D CMAKE_BUILD_TYPE=Release \ + -D ENABLE_OPT=OFF \ + -D GLSLANG_TESTS_DEFAULT=OFF \ + -D GLSLANG_ENABLE_INSTALL_DEFAULT=ON + cmake --build build --parallel + sudo cmake --install build + cd .. + + - name: Generate headers + run: | + cmake -B build -G Ninja \ + -D VULKAN_HPP_GENERATOR_BUILD=ON \ + -D VULKAN_HPP_RUN_GENERATOR=OFF \ + -D VULKAN_HPP_SAMPLES_BUILD=OFF \ + -D VULKAN_HPP_TESTS_BUILD=OFF \ + -D VULKAN_HPP_ENABLE_CPP20_MODULES=OFF \ + -D VULKAN_HPP_DISPATCH_LOADER_DYNAMIC=ON \ + -D VULKAN_HPP_BUILD_WITH_LOCAL_VULKAN_HPP=ON \ + -D VULKAN_HPP_PRECOMPILE=OFF \ + -D CMAKE_CXX_COMPILER=${{matrix.compiler}} \ + -D CMAKE_CXX_STANDARD=20 \ + -D CMAKE_BUILD_TYPE=Debug + cmake --build build --parallel + + cmake -B build -G Ninja --fresh \ + -D VULKAN_HPP_GENERATOR_BUILD=ON \ + -D VULKAN_HPP_RUN_GENERATOR=ON \ + -D VULKAN_HPP_SAMPLES_BUILD=OFF \ + -D VULKAN_HPP_TESTS_BUILD=OFF \ + -D VULKAN_HPP_ENABLE_CPP20_MODULES=OFF \ + -D VULKAN_HPP_DISPATCH_LOADER_DYNAMIC=ON \ + -D VULKAN_HPP_BUILD_WITH_LOCAL_VULKAN_HPP=ON \ + -D VULKAN_HPP_PRECOMPILE=OFF \ + -D CMAKE_CXX_COMPILER=${{matrix.compiler}} \ + -D CMAKE_CXX_STANDARD=20 \ + -D CMAKE_BUILD_TYPE=Release + cmake --build build --parallel --clean-first + + - name: Build samples and tests + run: | + for CXX_STANDARD in 11 14 17 20 23; do + for BUILD_TYPE in Debug Release; do + if [ ${{matrix.compiler}} == g++-10 ] && [ $CXX_STANDARD == 23 ]; then + continue + fi + + echo "=================================================================================" + echo "Building C++$CXX_STANDARD in $BUILD_TYPE" + echo "=================================================================================" + + cmake -B build -G Ninja --fresh \ + -D VULKAN_HPP_GENERATOR_BUILD=OFF \ + -D VULKAN_HPP_RUN_GENERATOR=OFF \ + -D VULKAN_HPP_SAMPLES_BUILD=ON \ + -D VULKAN_HPP_TESTS_BUILD=ON \ + -D VULKAN_HPP_ENABLE_CPP20_MODULES=OFF \ + -D VULKAN_HPP_DISPATCH_LOADER_DYNAMIC=ON \ + -D VULKAN_HPP_BUILD_WITH_LOCAL_VULKAN_HPP=ON \ + -D VULKAN_HPP_PRECOMPILE=OFF \ + -D CMAKE_CXX_COMPILER=${{matrix.compiler}} \ + -D CMAKE_CXX_STANDARD=$CXX_STANDARD \ + -D CMAKE_BUILD_TYPE=$BUILD_TYPE + cmake --build build --parallel --clean-first + done + done diff --git a/.github/workflows/ci-ubuntu-24.yml b/.github/workflows/ci-ubuntu-24.yml index 57663da..2d3ff90 100644 --- a/.github/workflows/ci-ubuntu-24.yml +++ b/.github/workflows/ci-ubuntu-24.yml @@ -16,11 +16,6 @@ jobs: strategy: matrix: compiler: [clang++-16, clang++-17, clang++-18, g++-12, g++-13, g++-14] - cpp_standard: [11, 14, 17, 20, 23] - build_type: [Debug, Release] - exclude: - - cpp_standard: 23 - compiler: clang++-17 # clang++-17 gives some strange errors in std::tuple ! steps: - uses: actions/checkout@v4 @@ -35,18 +30,104 @@ jobs: with: version: 1.11.0 - - name: Build + - name: Install glm, glfw and glslang run: | - modules_flag=${{(contains(fromJSON('["clang++-16", "g++-12", "g++-13", "g++-14"]'), matrix.compiler) || matrix.cpp_standard < 20) && 'OFF' || 'ON'}} - cmake -B build/${{matrix.cpp_standard}}/${{matrix.build_type}} -GNinja \ - -DVULKAN_HPP_SAMPLES_BUILD=ON \ - -DVULKAN_HPP_TESTS_BUILD=ON \ - -DVULKAN_HPP_ENABLE_CPP20_MODULES=$modules_flag \ - -DVULKAN_HPP_DISPATCH_LOADER_DYNAMIC=ON \ - -DVULKAN_HPP_BUILD_WITH_LOCAL_VULKAN_HPP=ON \ - -DVULKAN_HPP_PRECOMPILE=OFF \ - -DVULKAN_HPP_RUN_GENERATOR=ON \ - -DCMAKE_CXX_COMPILER=${{matrix.compiler}} \ - -DCMAKE_CXX_STANDARD=${{matrix.cpp_standard}} \ - -DCMAKE_BUILD_TYPE=${{matrix.build_type}} - cmake --build build/${{matrix.cpp_standard}}/${{matrix.build_type}} --parallel + cd glm + cmake -B build -G Ninja \ + -D CMAKE_CXX_COMPILER=${{matrix.compiler}} \ + -D CMAKE_CXX_STANDARD=11 \ + -D CMAKE_BUILD_TYPE=Release \ + -D GLM_BUILD_LIBRARY=ON \ + -D GLM_BUILD_INSTALL=ON \ + -D GLM_BUILD_TESTS=OFF + cmake --build build --parallel + sudo cmake --install build + + cd ../glfw + cmake -B build -G Ninja \ + -D CMAKE_CXX_COMPILER=${{matrix.compiler}} \ + -D CMAKE_CXX_STANDARD=11 \ + -D CMAKE_BUILD_TYPE=Release \ + -D GLFW_BUILD_EXAMPLES=OFF \ + -D GLFW_BUILD_TESTS=OFF \ + -D GLFW_BUILD_DOCS=OFF \ + -D GLFW_INSTALL=ON + cmake --build build --parallel + sudo cmake --install build + + cd ../glslang + cmake -B build -G Ninja \ + -D CMAKE_CXX_COMPILER=${{matrix.compiler}} \ + -D CMAKE_CXX_STANDARD=11 \ + -D CMAKE_BUILD_TYPE=Release \ + -D ENABLE_OPT=OFF \ + -D GLSLANG_TESTS_DEFAULT=OFF \ + -D GLSLANG_ENABLE_INSTALL_DEFAULT=ON + cmake --build build --parallel + sudo cmake --install build + cd .. + + - name: Generate headers + run: | + cmake -B build -G Ninja \ + -D VULKAN_HPP_GENERATOR_BUILD=ON \ + -D VULKAN_HPP_RUN_GENERATOR=OFF \ + -D VULKAN_HPP_SAMPLES_BUILD=OFF \ + -D VULKAN_HPP_TESTS_BUILD=OFF \ + -D VULKAN_HPP_ENABLE_CPP20_MODULES=OFF \ + -D VULKAN_HPP_DISPATCH_LOADER_DYNAMIC=ON \ + -D VULKAN_HPP_BUILD_WITH_LOCAL_VULKAN_HPP=ON \ + -D VULKAN_HPP_PRECOMPILE=OFF \ + -D CMAKE_CXX_COMPILER=${{matrix.compiler}} \ + -D CMAKE_CXX_STANDARD=20 \ + -D CMAKE_BUILD_TYPE=Debug + cmake --build build --parallel + + cmake -B build -G Ninja --fresh \ + -D VULKAN_HPP_GENERATOR_BUILD=ON \ + -D VULKAN_HPP_RUN_GENERATOR=ON \ + -D VULKAN_HPP_SAMPLES_BUILD=OFF \ + -D VULKAN_HPP_TESTS_BUILD=OFF \ + -D VULKAN_HPP_ENABLE_CPP20_MODULES=OFF \ + -D VULKAN_HPP_DISPATCH_LOADER_DYNAMIC=ON \ + -D VULKAN_HPP_BUILD_WITH_LOCAL_VULKAN_HPP=ON \ + -D VULKAN_HPP_PRECOMPILE=OFF \ + -D CMAKE_CXX_COMPILER=${{matrix.compiler}} \ + -D CMAKE_CXX_STANDARD=20 \ + -D CMAKE_BUILD_TYPE=Release + cmake --build build --parallel --clean-first + + - name: Build samples and tests + run: | + for CXX_STANDARD in 11 14 17 20 23; do + for BUILD_TYPE in Debug Release; do + if [ ${{matrix.compiler}} == clang++-17 ] && [ $CXX_STANDARD == 23 ]; then + continue + fi + + CXX_MODULES=ON + for compiler in "clang++-16" "g++-12" "g++-13" "g++-14"; do + if [ ${{matrix.compiler}} == $compiler ] || [ $CXX_STANDARD -lt 20 ]; then + CXX_MODULES=OFF + fi + done + + echo "=================================================================================" + echo "Building C++$CXX_STANDARD in $BUILD_TYPE" + echo "=================================================================================" + + cmake -B build -G Ninja --fresh \ + -D VULKAN_HPP_GENERATOR_BUILD=OFF \ + -D VULKAN_HPP_RUN_GENERATOR=OFF \ + -D VULKAN_HPP_SAMPLES_BUILD=ON \ + -D VULKAN_HPP_TESTS_BUILD=ON \ + -D VULKAN_HPP_ENABLE_CPP20_MODULES=$CXX_MODULES \ + -D VULKAN_HPP_DISPATCH_LOADER_DYNAMIC=ON \ + -D VULKAN_HPP_BUILD_WITH_LOCAL_VULKAN_HPP=ON \ + -D VULKAN_HPP_PRECOMPILE=OFF \ + -D CMAKE_CXX_COMPILER=${{matrix.compiler}} \ + -D CMAKE_CXX_STANDARD=$CXX_STANDARD \ + -D CMAKE_BUILD_TYPE=$BUILD_TYPE + cmake --build build --parallel --clean-first + done + done diff --git a/.github/workflows/ci-windows.yml b/.github/workflows/ci-windows.yml index 51b7443..3631f97 100644 --- a/.github/workflows/ci-windows.yml +++ b/.github/workflows/ci-windows.yml @@ -17,8 +17,6 @@ jobs: matrix: os: [windows-2022, windows-2025] architecture: [x86, x64] - cpp_standard: [11, 14, 17, 20, 23] - build_type: [Debug, Release] steps: - uses: actions/checkout@v4 @@ -30,17 +28,92 @@ jobs: with: arch: ${{matrix.architecture}} - - name: Build + # - name: Install glm, glfw and glslang + # run: | + # cd glm + # cmake -B build \ + # -D CMAKE_CXX_STANDARD=11 \ + # -D CMAKE_BUILD_TYPE=Release \ + # -D GLM_BUILD_LIBRARY=ON \ + # -D GLM_BUILD_INSTALL=ON \ + # -D GLM_BUILD_TESTS=OFF + # cmake --build build --parallel + # cmake --install build + + # cd ../glfw + # cmake -B build \ + # -D CMAKE_CXX_STANDARD=11 \ + # -D CMAKE_BUILD_TYPE=Release \ + # -D GLFW_BUILD_EXAMPLES=OFF \ + # -D GLFW_BUILD_TESTS=OFF \ + # -D GLFW_BUILD_DOCS=OFF \ + # -D GLFW_INSTALL=ON + # cmake --build build --parallel + # cmake --install build + + # cd ../glslang + # cmake -B build \ + # -D CMAKE_CXX_STANDARD=11 \ + # -D CMAKE_BUILD_TYPE=Release \ + # -D ENABLE_OPT=OFF \ + # -D GLSLANG_TESTS_DEFAULT=OFF \ + # -D GLSLANG_ENABLE_INSTALL_DEFAULT=ON + # cmake --build build --parallel + # cmake --install build + # cd .. + + - name: Generate headers run: | - modules_flag=${{(contains(fromJSON('["windows-2019"]'), matrix.os) || matrix.cpp_standard < 20) && 'OFF' || 'ON'}} - cmake -B build/${{matrix.cpp_standard}}/${{matrix.build_type}} \ - -DVULKAN_HPP_SAMPLES_BUILD=ON \ - -DVULKAN_HPP_TESTS_BUILD=ON \ - -DVULKAN_HPP_ENABLE_CPP20_MODULES=$modules_flag \ - -DVULKAN_HPP_DISPATCH_LOADER_DYNAMIC=ON \ - -DVULKAN_HPP_BUILD_WITH_LOCAL_VULKAN_HPP=ON \ - -DVULKAN_HPP_PRECOMPILE=OFF \ - -DVULKAN_HPP_RUN_GENERATOR=ON \ - -DCMAKE_CXX_STANDARD=${{matrix.cpp_standard}} \ - -DCMAKE_BUILD_TYPE=${{matrix.build_type}} - cmake --build build/${{matrix.cpp_standard}}/${{matrix.build_type}} --parallel + cmake -B build \ + -D VULKAN_HPP_GENERATOR_BUILD=ON \ + -D VULKAN_HPP_RUN_GENERATOR=OFF \ + -D VULKAN_HPP_SAMPLES_BUILD=OFF \ + -D VULKAN_HPP_TESTS_BUILD=OFF \ + -D VULKAN_HPP_ENABLE_CPP20_MODULES=OFF \ + -D VULKAN_HPP_DISPATCH_LOADER_DYNAMIC=ON \ + -D VULKAN_HPP_BUILD_WITH_LOCAL_VULKAN_HPP=ON \ + -D VULKAN_HPP_PRECOMPILE=OFF \ + -D CMAKE_CXX_STANDARD=20 \ + -D CMAKE_BUILD_TYPE=Debug + cmake --build build --parallel + + cmake -B build --fresh \ + -D VULKAN_HPP_GENERATOR_BUILD=ON \ + -D VULKAN_HPP_RUN_GENERATOR=ON \ + -D VULKAN_HPP_SAMPLES_BUILD=OFF \ + -D VULKAN_HPP_TESTS_BUILD=OFF \ + -D VULKAN_HPP_ENABLE_CPP20_MODULES=OFF \ + -D VULKAN_HPP_DISPATCH_LOADER_DYNAMIC=ON \ + -D VULKAN_HPP_BUILD_WITH_LOCAL_VULKAN_HPP=ON \ + -D VULKAN_HPP_PRECOMPILE=OFF \ + -D CMAKE_CXX_STANDARD=20 \ + -D CMAKE_BUILD_TYPE=Release + cmake --build build --parallel --clean-first + + - name: Build samples and tests + run: | + for CXX_STANDARD in 11 14 17 20 23; do + for BUILD_TYPE in Debug Release; do + CXX_MODULES=ON + if [ ${{matrix.compiler}} == "windows-2019" ] || [ $CXX_STANDARD -lt 20 ]; then + CXX_MODULES=OFF + fi + + echo "=================================================================================" + echo "Building C++$CXX_STANDARD in $BUILD_TYPE with architecture ${{matrix.architecture}}" + echo "=================================================================================" + + cmake -B build --fresh \ + -D VULKAN_HPP_GENERATOR_BUILD=OFF \ + -D VULKAN_HPP_RUN_GENERATOR=OFF \ + -D VULKAN_HPP_SAMPLES_BUILD=ON \ + -D VULKAN_HPP_TESTS_BUILD=ON \ + -D VULKAN_HPP_ENABLE_CPP20_MODULES=$CXX_MODULES \ + -D VULKAN_HPP_DISPATCH_LOADER_DYNAMIC=ON \ + -D VULKAN_HPP_BUILD_WITH_LOCAL_VULKAN_HPP=ON \ + -D VULKAN_HPP_PRECOMPILE=OFF \ + -D CMAKE_CXX_STANDARD=$CXX_STANDARD \ + -D CMAKE_BUILD_TYPE=$BUILD_TYPE + cmake --build build --parallel --clean-first + done + done diff --git a/CMakeLists.txt b/CMakeLists.txt index 5fdfdb6..5a3046b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -556,12 +556,23 @@ endfunction() if( VULKAN_HPP_SAMPLES_BUILD OR VULKAN_HPP_TESTS_BUILD ) # external libraries - add_subdirectory( glm ) - set( GLFW_BUILD_EXAMPLES OFF ) - set( GLFW_BUILD_TESTS OFF ) - add_subdirectory( glfw ) - set( ENABLE_OPT OFF ) # could use ALLOW_EXTERNAL_SPIRV_TOOLS=ON instead - add_subdirectory( glslang ) + find_package( glm QUIET ) + if( NOT glm_FOUND ) + add_subdirectory( glm ) + endif() + + find_package( glfw3 QUIET ) + if( NOT glfw3_FOUND ) + set( GLFW_BUILD_EXAMPLES OFF ) + set( GLFW_BUILD_TESTS OFF ) + add_subdirectory( glfw ) + endif() + + find_package( glslang QUIET ) + if( NOT glslang_FOUND ) + set( ENABLE_OPT OFF ) # could use ALLOW_EXTERNAL_SPIRV_TOOLS=ON instead + add_subdirectory( glslang ) + endif() add_subdirectory( samples/utils ) add_subdirectory( RAII_Samples/utils ) diff --git a/RAII_Samples/11_InitShaders/11_InitShaders.cpp b/RAII_Samples/11_InitShaders/11_InitShaders.cpp index 82da3e9..88ef2af 100644 --- a/RAII_Samples/11_InitShaders/11_InitShaders.cpp +++ b/RAII_Samples/11_InitShaders/11_InitShaders.cpp @@ -17,7 +17,6 @@ #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/RAII_Samples/14_InitPipeline/14_InitPipeline.cpp b/RAII_Samples/14_InitPipeline/14_InitPipeline.cpp index 7165485..2a093de 100644 --- a/RAII_Samples/14_InitPipeline/14_InitPipeline.cpp +++ b/RAII_Samples/14_InitPipeline/14_InitPipeline.cpp @@ -29,7 +29,6 @@ #include "../../samples/utils/math.hpp" #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/RAII_Samples/15_DrawCube/15_DrawCube.cpp b/RAII_Samples/15_DrawCube/15_DrawCube.cpp index e60bfdd..02f2b22 100644 --- a/RAII_Samples/15_DrawCube/15_DrawCube.cpp +++ b/RAII_Samples/15_DrawCube/15_DrawCube.cpp @@ -29,7 +29,6 @@ #include "../../samples/utils/math.hpp" #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/RAII_Samples/DrawTexturedCube/DrawTexturedCube.cpp b/RAII_Samples/DrawTexturedCube/DrawTexturedCube.cpp index 8cdc03f..dec53fc 100644 --- a/RAII_Samples/DrawTexturedCube/DrawTexturedCube.cpp +++ b/RAII_Samples/DrawTexturedCube/DrawTexturedCube.cpp @@ -19,7 +19,6 @@ #include "../../samples/utils/math.hpp" #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/RAII_Samples/DynamicUniform/DynamicUniform.cpp b/RAII_Samples/DynamicUniform/DynamicUniform.cpp index 366cb16..023fa5f 100644 --- a/RAII_Samples/DynamicUniform/DynamicUniform.cpp +++ b/RAII_Samples/DynamicUniform/DynamicUniform.cpp @@ -23,7 +23,6 @@ #include "../../samples/utils/math.hpp" #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/RAII_Samples/ImmutableSampler/ImmutableSampler.cpp b/RAII_Samples/ImmutableSampler/ImmutableSampler.cpp index 6d16102..0e62ff5 100644 --- a/RAII_Samples/ImmutableSampler/ImmutableSampler.cpp +++ b/RAII_Samples/ImmutableSampler/ImmutableSampler.cpp @@ -31,7 +31,6 @@ #include "../../samples/utils/math.hpp" #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/RAII_Samples/InitTexture/InitTexture.cpp b/RAII_Samples/InitTexture/InitTexture.cpp index 3dc43d3..bf6ba30 100644 --- a/RAII_Samples/InitTexture/InitTexture.cpp +++ b/RAII_Samples/InitTexture/InitTexture.cpp @@ -25,11 +25,10 @@ // unknow compiler... just ignore the warnings for yourselves ;) #endif -#include "../samples/utils/geometries.hpp" -#include "../samples/utils/math.hpp" +#include "../../samples/utils/geometries.hpp" +#include "../../samples/utils/math.hpp" #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/RAII_Samples/InputAttachment/InputAttachment.cpp b/RAII_Samples/InputAttachment/InputAttachment.cpp index 5d51564..ebbd5ec 100644 --- a/RAII_Samples/InputAttachment/InputAttachment.cpp +++ b/RAII_Samples/InputAttachment/InputAttachment.cpp @@ -29,7 +29,6 @@ #include "../../samples/utils/math.hpp" #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/RAII_Samples/MultipleSets/MultipleSets.cpp b/RAII_Samples/MultipleSets/MultipleSets.cpp index 4bd8e51..9aacb70 100644 --- a/RAII_Samples/MultipleSets/MultipleSets.cpp +++ b/RAII_Samples/MultipleSets/MultipleSets.cpp @@ -31,7 +31,6 @@ #include "../../samples/utils/math.hpp" #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/RAII_Samples/OcclusionQuery/OcclusionQuery.cpp b/RAII_Samples/OcclusionQuery/OcclusionQuery.cpp index 312c420..712fd8f 100644 --- a/RAII_Samples/OcclusionQuery/OcclusionQuery.cpp +++ b/RAII_Samples/OcclusionQuery/OcclusionQuery.cpp @@ -19,7 +19,6 @@ #include "../../samples/utils/math.hpp" #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/RAII_Samples/PipelineCache/PipelineCache.cpp b/RAII_Samples/PipelineCache/PipelineCache.cpp index 9027eed..21e9807 100644 --- a/RAII_Samples/PipelineCache/PipelineCache.cpp +++ b/RAII_Samples/PipelineCache/PipelineCache.cpp @@ -28,7 +28,6 @@ #include "../../samples/utils/math.hpp" #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/RAII_Samples/PipelineDerivative/PipelineDerivative.cpp b/RAII_Samples/PipelineDerivative/PipelineDerivative.cpp index f67aeaf..0583253 100644 --- a/RAII_Samples/PipelineDerivative/PipelineDerivative.cpp +++ b/RAII_Samples/PipelineDerivative/PipelineDerivative.cpp @@ -28,7 +28,6 @@ #include "../../samples/utils/math.hpp" #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/RAII_Samples/PushConstants/PushConstants.cpp b/RAII_Samples/PushConstants/PushConstants.cpp index c671691..8bfe206 100644 --- a/RAII_Samples/PushConstants/PushConstants.cpp +++ b/RAII_Samples/PushConstants/PushConstants.cpp @@ -28,7 +28,6 @@ #include "../../samples/utils/math.hpp" #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/RAII_Samples/PushDescriptors/PushDescriptors.cpp b/RAII_Samples/PushDescriptors/PushDescriptors.cpp index a2e721f..629f761 100644 --- a/RAII_Samples/PushDescriptors/PushDescriptors.cpp +++ b/RAII_Samples/PushDescriptors/PushDescriptors.cpp @@ -20,7 +20,6 @@ #include "../../samples/utils/math.hpp" #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/RAII_Samples/RayTracing/CameraManipulator.cpp b/RAII_Samples/RayTracing/CameraManipulator.cpp index 5b81714..2af40a2 100644 --- a/RAII_Samples/RayTracing/CameraManipulator.cpp +++ b/RAII_Samples/RayTracing/CameraManipulator.cpp @@ -28,6 +28,7 @@ #include "CameraManipulator.hpp" +#define GLM_ENABLE_EXPERIMENTAL #include #include diff --git a/RAII_Samples/RayTracing/RayTracing.cpp b/RAII_Samples/RayTracing/RayTracing.cpp index 59e8182..1b5f76c 100644 --- a/RAII_Samples/RayTracing/RayTracing.cpp +++ b/RAII_Samples/RayTracing/RayTracing.cpp @@ -44,7 +44,6 @@ #include "../utils/shaders.hpp" #include "../utils/utils.hpp" #include "CameraManipulator.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/RAII_Samples/SecondaryCommandBuffer/SecondaryCommandBuffer.cpp b/RAII_Samples/SecondaryCommandBuffer/SecondaryCommandBuffer.cpp index 5664ff0..fa5299d 100644 --- a/RAII_Samples/SecondaryCommandBuffer/SecondaryCommandBuffer.cpp +++ b/RAII_Samples/SecondaryCommandBuffer/SecondaryCommandBuffer.cpp @@ -29,7 +29,6 @@ #include "../../samples/utils/math.hpp" #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/RAII_Samples/SeparateImageSampler/SeparateImageSampler.cpp b/RAII_Samples/SeparateImageSampler/SeparateImageSampler.cpp index fdcd013..6b03e76 100644 --- a/RAII_Samples/SeparateImageSampler/SeparateImageSampler.cpp +++ b/RAII_Samples/SeparateImageSampler/SeparateImageSampler.cpp @@ -28,7 +28,6 @@ #include "../../samples/utils/math.hpp" #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/RAII_Samples/Template/Template.cpp b/RAII_Samples/Template/Template.cpp index 3e7386b..2e332e0 100644 --- a/RAII_Samples/Template/Template.cpp +++ b/RAII_Samples/Template/Template.cpp @@ -19,7 +19,6 @@ #include "../../samples/utils/math.hpp" #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/RAII_Samples/TexelBuffer/TexelBuffer.cpp b/RAII_Samples/TexelBuffer/TexelBuffer.cpp index f9c478b..bcc81c5 100644 --- a/RAII_Samples/TexelBuffer/TexelBuffer.cpp +++ b/RAII_Samples/TexelBuffer/TexelBuffer.cpp @@ -19,7 +19,6 @@ #include "../../samples/utils/math.hpp" #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/samples/11_InitShaders/11_InitShaders.cpp b/samples/11_InitShaders/11_InitShaders.cpp index d057f74..0c08856 100644 --- a/samples/11_InitShaders/11_InitShaders.cpp +++ b/samples/11_InitShaders/11_InitShaders.cpp @@ -17,7 +17,6 @@ #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/samples/14_InitPipeline/14_InitPipeline.cpp b/samples/14_InitPipeline/14_InitPipeline.cpp index 0f567ea..c8e2bd9 100644 --- a/samples/14_InitPipeline/14_InitPipeline.cpp +++ b/samples/14_InitPipeline/14_InitPipeline.cpp @@ -29,7 +29,6 @@ #include "../utils/math.hpp" #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/samples/15_DrawCube/15_DrawCube.cpp b/samples/15_DrawCube/15_DrawCube.cpp index 86c06db..d72db26 100644 --- a/samples/15_DrawCube/15_DrawCube.cpp +++ b/samples/15_DrawCube/15_DrawCube.cpp @@ -19,7 +19,6 @@ #include "../utils/math.hpp" #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/samples/DrawTexturedCube/DrawTexturedCube.cpp b/samples/DrawTexturedCube/DrawTexturedCube.cpp index a3f4f75..4618c61 100644 --- a/samples/DrawTexturedCube/DrawTexturedCube.cpp +++ b/samples/DrawTexturedCube/DrawTexturedCube.cpp @@ -19,7 +19,6 @@ #include "../utils/math.hpp" #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/samples/DynamicUniform/DynamicUniform.cpp b/samples/DynamicUniform/DynamicUniform.cpp index bd5ffdd..cf520dc 100644 --- a/samples/DynamicUniform/DynamicUniform.cpp +++ b/samples/DynamicUniform/DynamicUniform.cpp @@ -25,7 +25,6 @@ # pragma warning( disable : 4100 ) // unreferenced formal parameter (glslang) #endif // endif (_MSC_VER ) -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #if defined( _MSC_VER ) diff --git a/samples/ImmutableSampler/ImmutableSampler.cpp b/samples/ImmutableSampler/ImmutableSampler.cpp index f4f3c1d..e885d6d 100644 --- a/samples/ImmutableSampler/ImmutableSampler.cpp +++ b/samples/ImmutableSampler/ImmutableSampler.cpp @@ -28,7 +28,6 @@ #include "../utils/math.hpp" #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/samples/InitTexture/InitTexture.cpp b/samples/InitTexture/InitTexture.cpp index cd37f18..ed964de 100644 --- a/samples/InitTexture/InitTexture.cpp +++ b/samples/InitTexture/InitTexture.cpp @@ -29,7 +29,6 @@ #include "../utils/math.hpp" #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/samples/InputAttachment/InputAttachment.cpp b/samples/InputAttachment/InputAttachment.cpp index 85244bc..3f95f6a 100644 --- a/samples/InputAttachment/InputAttachment.cpp +++ b/samples/InputAttachment/InputAttachment.cpp @@ -29,7 +29,6 @@ #include "../utils/math.hpp" #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/samples/MultipleSets/MultipleSets.cpp b/samples/MultipleSets/MultipleSets.cpp index 6261fed..5514aa3 100644 --- a/samples/MultipleSets/MultipleSets.cpp +++ b/samples/MultipleSets/MultipleSets.cpp @@ -28,7 +28,6 @@ #include "../utils/math.hpp" #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/samples/OcclusionQuery/OcclusionQuery.cpp b/samples/OcclusionQuery/OcclusionQuery.cpp index 956ee56..f9257e0 100644 --- a/samples/OcclusionQuery/OcclusionQuery.cpp +++ b/samples/OcclusionQuery/OcclusionQuery.cpp @@ -19,7 +19,6 @@ #include "../utils/math.hpp" #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/samples/PipelineCache/PipelineCache.cpp b/samples/PipelineCache/PipelineCache.cpp index 6de965a..f402ff6 100644 --- a/samples/PipelineCache/PipelineCache.cpp +++ b/samples/PipelineCache/PipelineCache.cpp @@ -28,7 +28,6 @@ #include "../utils/math.hpp" #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/samples/PipelineDerivative/PipelineDerivative.cpp b/samples/PipelineDerivative/PipelineDerivative.cpp index ec14374..56c3f78 100644 --- a/samples/PipelineDerivative/PipelineDerivative.cpp +++ b/samples/PipelineDerivative/PipelineDerivative.cpp @@ -28,7 +28,6 @@ #include "../utils/math.hpp" #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/samples/PushConstants/PushConstants.cpp b/samples/PushConstants/PushConstants.cpp index e97c1d7..16d6433 100644 --- a/samples/PushConstants/PushConstants.cpp +++ b/samples/PushConstants/PushConstants.cpp @@ -28,7 +28,6 @@ #include "../utils/math.hpp" #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/samples/PushDescriptors/PushDescriptors.cpp b/samples/PushDescriptors/PushDescriptors.cpp index 0236db8..0b6531e 100644 --- a/samples/PushDescriptors/PushDescriptors.cpp +++ b/samples/PushDescriptors/PushDescriptors.cpp @@ -19,7 +19,6 @@ #include "../utils/math.hpp" #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/samples/RayTracing/CameraManipulator.cpp b/samples/RayTracing/CameraManipulator.cpp index 5b81714..2af40a2 100644 --- a/samples/RayTracing/CameraManipulator.cpp +++ b/samples/RayTracing/CameraManipulator.cpp @@ -28,6 +28,7 @@ #include "CameraManipulator.hpp" +#define GLM_ENABLE_EXPERIMENTAL #include #include diff --git a/samples/RayTracing/RayTracing.cpp b/samples/RayTracing/RayTracing.cpp index 7dd761b..871cf06 100644 --- a/samples/RayTracing/RayTracing.cpp +++ b/samples/RayTracing/RayTracing.cpp @@ -44,7 +44,6 @@ #include "../utils/shaders.hpp" #include "../utils/utils.hpp" #include "CameraManipulator.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/samples/SecondaryCommandBuffer/SecondaryCommandBuffer.cpp b/samples/SecondaryCommandBuffer/SecondaryCommandBuffer.cpp index 4804696..4e18012 100644 --- a/samples/SecondaryCommandBuffer/SecondaryCommandBuffer.cpp +++ b/samples/SecondaryCommandBuffer/SecondaryCommandBuffer.cpp @@ -29,7 +29,6 @@ #include "../utils/math.hpp" #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/samples/SeparateImageSampler/SeparateImageSampler.cpp b/samples/SeparateImageSampler/SeparateImageSampler.cpp index 247464e..45c037f 100644 --- a/samples/SeparateImageSampler/SeparateImageSampler.cpp +++ b/samples/SeparateImageSampler/SeparateImageSampler.cpp @@ -28,7 +28,6 @@ #include "../utils/math.hpp" #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/samples/SharedHandles/SharedHandles.cpp b/samples/SharedHandles/SharedHandles.cpp index aec2102..9c092d0 100644 --- a/samples/SharedHandles/SharedHandles.cpp +++ b/samples/SharedHandles/SharedHandles.cpp @@ -21,7 +21,6 @@ #include "../utils/math.hpp" #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/samples/Template/Template.cpp b/samples/Template/Template.cpp index 60ccd59..7cb8b98 100644 --- a/samples/Template/Template.cpp +++ b/samples/Template/Template.cpp @@ -19,7 +19,6 @@ #include "../utils/math.hpp" #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/samples/TexelBuffer/TexelBuffer.cpp b/samples/TexelBuffer/TexelBuffer.cpp index f2eeb11..10d5c36 100644 --- a/samples/TexelBuffer/TexelBuffer.cpp +++ b/samples/TexelBuffer/TexelBuffer.cpp @@ -19,7 +19,6 @@ #include "../utils/math.hpp" #include "../utils/shaders.hpp" #include "../utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include diff --git a/samples/utils/CMakeLists.txt b/samples/utils/CMakeLists.txt index 6de29f7..e43eb1d 100644 --- a/samples/utils/CMakeLists.txt +++ b/samples/utils/CMakeLists.txt @@ -22,11 +22,11 @@ if( VULKAN_HPP_RUN_GENERATOR ) add_dependencies( utils build_vulkan_hpp ) endif() -target_link_libraries( utils PUBLIC glm ) +target_link_libraries( utils PUBLIC glm::glm ) target_link_libraries( utils PUBLIC glfw ) -target_link_libraries( utils PUBLIC glslang ) -target_link_libraries( utils PUBLIC glslang-default-resource-limits ) -target_link_libraries( utils PUBLIC SPIRV ) +target_link_libraries( utils PUBLIC glslang::glslang ) +target_link_libraries( utils PUBLIC glslang::glslang-default-resource-limits ) +target_link_libraries( utils PUBLIC glslang::SPIRV ) target_compile_definitions( utils PUBLIC VULKAN_HPP_DISPATCH_LOADER_DYNAMIC=1 ) target_precompile_headers( utils PRIVATE ) diff --git a/samples/utils/shaders.cpp b/samples/utils/shaders.cpp index 977ed26..9ec3fa3 100644 --- a/samples/utils/shaders.cpp +++ b/samples/utils/shaders.cpp @@ -15,7 +15,7 @@ #include "shaders.hpp" -#include "SPIRV/GlslangToSpv.h" +#include "glslang/SPIRV/GlslangToSpv.h" #include "glslang/Public/ResourceLimits.h" #include "glslang/Public/ShaderLang.h" diff --git a/tests/UniqueHandle/UniqueHandle.cpp b/tests/UniqueHandle/UniqueHandle.cpp index 7159fb6..884d654 100644 --- a/tests/UniqueHandle/UniqueHandle.cpp +++ b/tests/UniqueHandle/UniqueHandle.cpp @@ -19,7 +19,7 @@ #include "../../samples/utils/geometries.hpp" #include "../../samples/utils/shaders.hpp" #include "../../samples/utils/utils.hpp" -#include "SPIRV/GlslangToSpv.h" +#include "glslang/SPIRV/GlslangToSpv.h" #include "glslang/Public/ShaderLang.h" #include