From 0a3597256757ae6bb336b21ce6b7da23e23a7797 Mon Sep 17 00:00:00 2001 From: Reinhold Gschweicher Date: Mon, 4 May 2026 15:53:39 +0200 Subject: [PATCH 1/6] hunter_setup_msvc: support Visual Studio 18 2026 toolset Add support for `Visual Studio 18 2026` compiler suite. Fixes: https://github.com/cpp-pm/hunter/issues/842 --- cmake/modules/hunter_setup_msvc.cmake | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cmake/modules/hunter_setup_msvc.cmake b/cmake/modules/hunter_setup_msvc.cmake index e5eed52671..1464110bf3 100644 --- a/cmake/modules/hunter_setup_msvc.cmake +++ b/cmake/modules/hunter_setup_msvc.cmake @@ -67,6 +67,7 @@ macro(hunter_setup_msvc) string(REGEX MATCH "^191[0-9]$" _vs_15_2017 "${MSVC_VERSION}") string(REGEX MATCH "^192[0-9]$" _vs_16_2019 "${MSVC_VERSION}") string(REGEX MATCH "^19[34][0-9]$" _vs_17_2022 "${MSVC_VERSION}") + string(REGEX MATCH "^195[0-9]$" _vs_18_2026 "${MSVC_VERSION}") if(_vs_8_2005) set(HUNTER_MSVC_VERSION "8") @@ -95,6 +96,9 @@ macro(hunter_setup_msvc) elseif(_vs_17_2022) set(HUNTER_MSVC_VERSION "17") set(HUNTER_MSVC_YEAR "2022") + elseif(_vs_18_2026) + set(HUNTER_MSVC_VERSION "18") + set(HUNTER_MSVC_YEAR "2026") else() hunter_internal_error("Unexpected MSVC_VERSION: '${MSVC_VERSION}'") endif() From 128e8ca1beee0e2ae911eb98f90dd6b735ec136d Mon Sep 17 00:00:00 2001 From: Reinhold Gschweicher Date: Mon, 4 May 2026 16:43:16 +0200 Subject: [PATCH 2/6] CI: set_matrix: support Visual Studio 18 2026 generator --- .github/workflows/set_matrix.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/set_matrix.py b/.github/workflows/set_matrix.py index 19aa175504..31ac037866 100755 --- a/.github/workflows/set_matrix.py +++ b/.github/workflows/set_matrix.py @@ -309,6 +309,13 @@ def generator_and_runscript(leg: dict): ) generator_str = "Visual Studio 17 2022" vcvarsall = "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\Common7\\Tools\\VsDevCmd.bat" + elif vs_version == "18": + if vs_year != "2026": + raise RuntimeError( + f"project: {project_name}: VS 18 expected to have year 2026" + ) + generator_str = "Visual Studio 18 2026" + vcvarsall = "C:\\Program Files\\Microsoft Visual Studio\\18\\Enterprise\\Common7\\Tools\\VsDevCmd.bat" else: raise RuntimeError( f"project: {project_name}: unhandled vs-generator: {m.group()} in toolchain: {toolchain}" From 931b8344999c90751a5343639e23a645addfef7a Mon Sep 17 00:00:00 2001 From: Reinhold Gschweicher Date: Mon, 4 May 2026 16:58:45 +0200 Subject: [PATCH 3/6] CI: add VS-18-2026 build on beta image windows-2025-vs2026 --- .github/workflows/ci/matrix.json | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci/matrix.json b/.github/workflows/ci/matrix.json index 9227dc2702..427727cd41 100644 --- a/.github/workflows/ci/matrix.json +++ b/.github/workflows/ci/matrix.json @@ -13,6 +13,7 @@ { "example": "foo", "toolchain": "nmake-vs-17-2022-win64-cxx17", "os": "windows-2022" }, { "example": "foo", "toolchain": "vs-17-2022-win64-sdk-10-0-22000-0-cxx17", "os": "windows-2022" }, { "example": "foo", "toolchain": "vs-17-2022-win64-store-10-cxx17", "os": "windows-2022" }, +{ "example": "foo", "toolchain": "ninja-vs-18-2026-win64-cxx17", "os": "windows-2025-vs2026" }, { "example": "foo", "toolchain": "mingw-cxx17", "os": "windows-2022" }, { "example": "foo", "toolchain": "msys-cxx17", "os": "windows-2022" } ] From 9d031b4ff66747454c608d5a1c4088a57391d3ef Mon Sep 17 00:00:00 2001 From: Reinhold Gschweicher Date: Mon, 4 May 2026 17:05:07 +0200 Subject: [PATCH 4/6] test_setup_msvc: add check for 1950 -> VS 18 2026 --- tests/hunter_setup_msvc/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/hunter_setup_msvc/CMakeLists.txt b/tests/hunter_setup_msvc/CMakeLists.txt index 032b960fe5..a1d78f7bde 100644 --- a/tests/hunter_setup_msvc/CMakeLists.txt +++ b/tests/hunter_setup_msvc/CMakeLists.txt @@ -114,6 +114,8 @@ run_check("1920" "x64" "" "x86_amd64" "x86" "amd64" "16" "2019") run_check("1930" "x64" "" "x86_amd64" "x86" "amd64" "17" "2022") run_check("1920" "x64" "x64" "amd64" "amd64" "amd64" "16" "2019") run_check("1930" "x64" "x64" "amd64" "amd64" "amd64" "17" "2022") +run_check("1940" "x64" "x64" "amd64" "amd64" "amd64" "17" "2022") +run_check("1950" "x64" "x64" "amd64" "amd64" "amd64" "18" "2026") # building for armv7 run_check("1400" "ARMV7" "" "x86_arm" "x86" "arm" "8" "2005") From 9db8a205c1920f0de78cfa918a2e769e733cb8ea Mon Sep 17 00:00:00 2001 From: Reinhold Gschweicher Date: Mon, 4 May 2026 17:06:42 +0200 Subject: [PATCH 5/6] [WIP] DO NOT MERGE: Eigen: edit to trigger toolchain --- cmake/projects/Eigen/hunter.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake/projects/Eigen/hunter.cmake b/cmake/projects/Eigen/hunter.cmake index b2dba28986..d9e6d067f7 100644 --- a/cmake/projects/Eigen/hunter.cmake +++ b/cmake/projects/Eigen/hunter.cmake @@ -12,6 +12,7 @@ include(hunter_cacheable) hunter_cacheable(Eigen) + # List of versions here... hunter_add_version( PACKAGE_NAME From af3d85c40cb82f54387649ea0fd74745364ee488 Mon Sep 17 00:00:00 2001 From: Reinhold Gschweicher Date: Mon, 4 May 2026 17:13:58 +0200 Subject: [PATCH 6/6] Revert "[WIP] DO NOT MERGE: Eigen: edit to trigger toolchain" This reverts commit 9db8a205c1920f0de78cfa918a2e769e733cb8ea. --- cmake/projects/Eigen/hunter.cmake | 1 - 1 file changed, 1 deletion(-) diff --git a/cmake/projects/Eigen/hunter.cmake b/cmake/projects/Eigen/hunter.cmake index d9e6d067f7..b2dba28986 100644 --- a/cmake/projects/Eigen/hunter.cmake +++ b/cmake/projects/Eigen/hunter.cmake @@ -12,7 +12,6 @@ include(hunter_cacheable) hunter_cacheable(Eigen) - # List of versions here... hunter_add_version( PACKAGE_NAME