From 38f812ef07cec48492ae35dac2a0999aab998986 Mon Sep 17 00:00:00 2001 From: KeelBismarck <100113343+keelbismark@users.noreply.github.com> Date: Sat, 18 Oct 2025 20:24:15 +0300 Subject: [PATCH 1/4] feat: add support for Visual Studio 2026 --- gyp/pylib/gyp/MSVSVersion.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/gyp/pylib/gyp/MSVSVersion.py b/gyp/pylib/gyp/MSVSVersion.py index 09baf44b2b..37a05747d6 100644 --- a/gyp/pylib/gyp/MSVSVersion.py +++ b/gyp/pylib/gyp/MSVSVersion.py @@ -270,6 +270,18 @@ def _CreateVersion(name, path, sdk_based=False): if path: path = os.path.normpath(path) versions = { + "2026": VisualStudioVersion( + "2026", + "Visual Studio 2026", + solution_version="12.00", + project_version="18.0", + flat_sln=False, + uses_vcxproj=True, + path=path, + sdk_based=sdk_based, + default_toolset="v144", + compatible_sdks=["v8.1", "v10.0"], + ), "2022": VisualStudioVersion( "2022", "Visual Studio 2022", @@ -462,6 +474,7 @@ def _DetectVisualStudioVersions(versions_to_check, force_express): "15.0": "2017", "16.0": "2019", "17.0": "2022", + "18.0": "2026", } versions = [] for version in versions_to_check: @@ -537,7 +550,7 @@ def SelectVisualStudioVersion(version="auto", allow_fallback=True): if version == "auto": version = os.environ.get("GYP_MSVS_VERSION", "auto") version_map = { - "auto": ("17.0", "16.0", "15.0", "14.0", "12.0", "10.0", "9.0", "8.0", "11.0"), + "auto": ("18.0", "17.0", "16.0", "15.0", "14.0", "12.0", "10.0", "9.0", "8.0", "11.0"), "2005": ("8.0",), "2005e": ("8.0",), "2008": ("9.0",), @@ -552,6 +565,7 @@ def SelectVisualStudioVersion(version="auto", allow_fallback=True): "2017": ("15.0",), "2019": ("16.0",), "2022": ("17.0",), + "2026": ("18.0",), } if override_path := os.environ.get("GYP_MSVS_OVERRIDE_PATH"): msvs_version = os.environ.get("GYP_MSVS_VERSION") From 34b74eddbd58538bbea653061a34e00184879fb1 Mon Sep 17 00:00:00 2001 From: KeelBismarck <100113343+keelbismark@users.noreply.github.com> Date: Sat, 18 Oct 2025 20:28:24 +0300 Subject: [PATCH 2/4] feat: add support for Visual Studio 2026 #2 --- gyp/pylib/gyp/MSVSVersion.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gyp/pylib/gyp/MSVSVersion.py b/gyp/pylib/gyp/MSVSVersion.py index 37a05747d6..e1c8926ff4 100644 --- a/gyp/pylib/gyp/MSVSVersion.py +++ b/gyp/pylib/gyp/MSVSVersion.py @@ -279,7 +279,7 @@ def _CreateVersion(name, path, sdk_based=False): uses_vcxproj=True, path=path, sdk_based=sdk_based, - default_toolset="v144", + default_toolset="v145", compatible_sdks=["v8.1", "v10.0"], ), "2022": VisualStudioVersion( From 3874acb371934ad88a58c487cf79d69e26cc855a Mon Sep 17 00:00:00 2001 From: KeelBismarck <100113343+keelbismark@users.noreply.github.com> Date: Sun, 19 Oct 2025 00:36:22 +0300 Subject: [PATCH 3/4] --- gyp/pylib/gyp/MSVSVersion.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gyp/pylib/gyp/MSVSVersion.py b/gyp/pylib/gyp/MSVSVersion.py index e1c8926ff4..68fbd3db28 100644 --- a/gyp/pylib/gyp/MSVSVersion.py +++ b/gyp/pylib/gyp/MSVSVersion.py @@ -550,7 +550,8 @@ def SelectVisualStudioVersion(version="auto", allow_fallback=True): if version == "auto": version = os.environ.get("GYP_MSVS_VERSION", "auto") version_map = { - "auto": ("18.0", "17.0", "16.0", "15.0", "14.0", "12.0", "10.0", "9.0", "8.0", "11.0"), + "auto": ("18.0", "17.0", "16.0", "15.0", "14.0", + "12.0", "10.0", "9.0", "8.0", "11.0"), "2005": ("8.0",), "2005e": ("8.0",), "2008": ("9.0",), From 59f9018c231b569aadead511e58e50380abfd190 Mon Sep 17 00:00:00 2001 From: KeelBismarck <100113343+keelbismark@users.noreply.github.com> Date: Sun, 19 Oct 2025 07:32:06 +0000 Subject: [PATCH 4/4] modified: gyp/pylib/gyp/MSVSVersion.py --- gyp/pylib/gyp/MSVSVersion.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/gyp/pylib/gyp/MSVSVersion.py b/gyp/pylib/gyp/MSVSVersion.py index 68fbd3db28..2d8e4ceab9 100644 --- a/gyp/pylib/gyp/MSVSVersion.py +++ b/gyp/pylib/gyp/MSVSVersion.py @@ -550,8 +550,18 @@ def SelectVisualStudioVersion(version="auto", allow_fallback=True): if version == "auto": version = os.environ.get("GYP_MSVS_VERSION", "auto") version_map = { - "auto": ("18.0", "17.0", "16.0", "15.0", "14.0", - "12.0", "10.0", "9.0", "8.0", "11.0"), + "auto": ( + "18.0", + "17.0", + "16.0", + "15.0", + "14.0", + "12.0", + "10.0", + "9.0", + "8.0", + "11.0", + ), "2005": ("8.0",), "2005e": ("8.0",), "2008": ("9.0",),