From 7f9423daa60d3a0a497388db31011b3e329d94de Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Fri, 11 Sep 2026 11:05:21 +0500 Subject: [PATCH] build-deps.py: shortcut for getting active toolset --- win/installers.py | 4 ++-- win/vs_cfg.py | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/win/installers.py b/win/installers.py index e7f2e2d3be..50b90f804f 100644 --- a/win/installers.py +++ b/win/installers.py @@ -723,7 +723,7 @@ def install_mpfr( orig_generator = CMAKE_GENERATORS["Visual Studio 16 2019"] orig_platform_toolset = orig_generator.vs_toolset - target_toolset = vs_cfg_vars.vs_toolset_override or vs_cfg_vars.generator.vs_toolset + target_toolset = vs_cfg_vars.vs_toolset for vcxproj in (dependency_dir / mpfr_sln_dir).rglob("*.vcxproj"): vcxproj.write_text(vcxproj.read_text().replace(orig_platform_toolset, target_toolset)) @@ -765,7 +765,7 @@ def install_qt6( build_deps_cache.add_entry("QT6_VERSION", QT6_VERSION) - vs_toolset = vs_cfg_vars.vs_toolset_override or vs_cfg_vars.generator.vs_toolset + vs_toolset = vs_cfg_vars.vs_toolset QT6_MSVC_YEAR = VS_TOOLSET_TO_VS_VER[vs_toolset] # Qt has not published prebuilt msvc2026 binaries yet (aqt only lists win64_msvc2022_64 as of # Qt 6.7-6.10). The v14x MSVC toolsets share a stable ABI/CRT, so fall back to the msvc2022 diff --git a/win/vs_cfg.py b/win/vs_cfg.py index a17cbbffb5..3aeeb2a17b 100644 --- a/win/vs_cfg.py +++ b/win/vs_cfg.py @@ -95,6 +95,11 @@ class VsCfgResult(NamedTuple): """Compare against `vs_platform`, just to prevent typos.""" return self.vs_platform == platform + @property + def vs_toolset(self) -> str: + """Effective toolset: `vs_toolset_override` if set, else the generator's default.""" + return self.vs_toolset_override or self.generator.vs_toolset + VS_TOOLSET_TO_VC_VER = {info.vs_toolset: info.vc_ver for info in CMAKE_GENERATORS.values()} """E.g. "v142" -> "14.2"."""