From e590a2de48948ab5989b52b5e510d94195d04d41 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 3 Feb 2026 17:40:34 +0000 Subject: [PATCH 1/6] Initial plan From 8696c2c6ecc060a3a5dfb1a8b420fb3a8ceea459 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 3 Feb 2026 17:45:17 +0000 Subject: [PATCH 2/6] Change generator from Unix Makefiles to Ninja for gcc and clang presets Co-authored-by: carsonRadtke <10507970+carsonRadtke@users.noreply.github.com> --- CMakePresets.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakePresets.json b/CMakePresets.json index eed32e24..2151d7ac 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -31,7 +31,7 @@ "name": "gcc-base", "inherits": "base", "hidden": true, - "generator": "Unix Makefiles", + "generator": "Ninja", "cacheVariables": { "CMAKE_CXX_COMPILER": "g++", "CMAKE_C_COMPILER": "gcc" @@ -41,7 +41,7 @@ "name": "clang-base", "inherits": "base", "hidden": true, - "generator": "Unix Makefiles", + "generator": "Ninja", "cacheVariables": { "CMAKE_CXX_COMPILER": "clang++", "CMAKE_C_COMPILER": "clang" From 06dd56dd33f6f7085e5ee0b51c9209f1ce320a0c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 4 Feb 2026 19:41:54 +0000 Subject: [PATCH 3/6] Use Ninja generator for msvc-base preset for consistency Co-authored-by: carsonRadtke <10507970+carsonRadtke@users.noreply.github.com> --- CMakePresets.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/CMakePresets.json b/CMakePresets.json index 2151d7ac..a3a599bf 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -15,14 +15,12 @@ "name": "msvc-base", "inherits": "base", "hidden": true, - "generator": "Visual Studio 17 2022", + "generator": "Ninja", "condition": { "type": "equals", "lhs": "${hostSystemName}", "rhs": "Windows" }, - "toolset": "host=x64", - "architecture": "x64", "cacheVariables": { "CMAKE_CXX_COMPILER": "cl" } From 55f4956a2a7a736004ef94936cec838616a8922b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 6 Feb 2026 18:27:57 +0000 Subject: [PATCH 4/6] Fix ClangCL builds by conditionally using Visual Studio generator Co-authored-by: carsonRadtke <10507970+carsonRadtke@users.noreply.github.com> --- .github/workflows/compilers.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/compilers.yml b/.github/workflows/compilers.yml index 3ab6b5d9..e12c50aa 100644 --- a/.github/workflows/compilers.yml +++ b/.github/workflows/compilers.yml @@ -80,10 +80,9 @@ jobs: VisualStudio: strategy: matrix: - generator: [ 'Visual Studio 17 2022' ] image: [ windows-2022, windows-2025 ] build_type: [ Debug, Release ] - extra_args: [ '', '-T ClangCL' ] + toolset: [ '', 'ClangCL' ] cxx_version: [ 14, 17, 20, 23 ] runs-on: ${{ matrix.image }} steps: @@ -94,7 +93,7 @@ jobs: uses: ./.github/workflows/cmake with: cmake_preset: msvc-${{ matrix.cxx_version }}-${{ matrix.build_type == 'Debug' && 'debug' || 'release' }} - extra_cmake_configure_args: ${{ matrix.extra_args }} - extra_cmake_build_args: --config ${{ matrix.build_type }} - extra_ctest_args: -C ${{ matrix.build_type }} + extra_cmake_configure_args: ${{ matrix.toolset != '' && format('-G "Visual Studio 17 2022" -T {0}', matrix.toolset) || '' }} + extra_cmake_build_args: ${{ matrix.toolset != '' && format('--config {0}', matrix.build_type) || '' }} + extra_ctest_args: ${{ matrix.toolset != '' && format('-C {0}', matrix.build_type) || '' }} From bff804af79cac39cbc6a660cac7b0c4d1f2f524e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 6 Feb 2026 18:28:57 +0000 Subject: [PATCH 5/6] Improve workflow readability with matrix include for generator configuration Co-authored-by: carsonRadtke <10507970+carsonRadtke@users.noreply.github.com> --- .github/workflows/compilers.yml | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/.github/workflows/compilers.yml b/.github/workflows/compilers.yml index e12c50aa..69996b39 100644 --- a/.github/workflows/compilers.yml +++ b/.github/workflows/compilers.yml @@ -84,6 +84,15 @@ jobs: build_type: [ Debug, Release ] toolset: [ '', 'ClangCL' ] cxx_version: [ 14, 17, 20, 23 ] + include: + # Regular MSVC builds use Ninja (from preset) + - toolset: '' + generator_override: '' + build_config_args: '' + test_config_args: '' + # ClangCL builds require Visual Studio generator + - toolset: 'ClangCL' + generator_override: '-G "Visual Studio 17 2022" -T ClangCL' runs-on: ${{ matrix.image }} steps: - uses: actions/checkout@v4 @@ -93,7 +102,7 @@ jobs: uses: ./.github/workflows/cmake with: cmake_preset: msvc-${{ matrix.cxx_version }}-${{ matrix.build_type == 'Debug' && 'debug' || 'release' }} - extra_cmake_configure_args: ${{ matrix.toolset != '' && format('-G "Visual Studio 17 2022" -T {0}', matrix.toolset) || '' }} - extra_cmake_build_args: ${{ matrix.toolset != '' && format('--config {0}', matrix.build_type) || '' }} - extra_ctest_args: ${{ matrix.toolset != '' && format('-C {0}', matrix.build_type) || '' }} + extra_cmake_configure_args: ${{ matrix.generator_override }} + extra_cmake_build_args: ${{ matrix.toolset == 'ClangCL' && format('--config {0}', matrix.build_type) || '' }} + extra_ctest_args: ${{ matrix.toolset == 'ClangCL' && format('-C {0}', matrix.build_type) || '' }} From ffdd653d73e7c5c2f35e8dfd544f495f74a4cb9b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 6 Feb 2026 18:30:01 +0000 Subject: [PATCH 6/6] Clean up unused matrix include fields Co-authored-by: carsonRadtke <10507970+carsonRadtke@users.noreply.github.com> --- .github/workflows/compilers.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/compilers.yml b/.github/workflows/compilers.yml index 69996b39..b923a81a 100644 --- a/.github/workflows/compilers.yml +++ b/.github/workflows/compilers.yml @@ -88,8 +88,6 @@ jobs: # Regular MSVC builds use Ninja (from preset) - toolset: '' generator_override: '' - build_config_args: '' - test_config_args: '' # ClangCL builds require Visual Studio generator - toolset: 'ClangCL' generator_override: '-G "Visual Studio 17 2022" -T ClangCL'