Prechádzať zdrojové kódy

SCons: Include pre-release in MSVC detection

Thaddeus Crews 10 mesiacov pred
rodič
commit
1d3c4e192c
1 zmenil súbory, kde vykonal 16 pridanie a 1 odobranie
  1. 16 1
      methods.py

+ 16 - 1
methods.py

@@ -807,7 +807,20 @@ def get_compiler_version(env):
 
     if env.msvc and not using_clang(env):
         try:
-            args = [env["VSWHERE"], "-latest", "-products", "*", "-requires", "Microsoft.Component.MSBuild", "-utf8"]
+            # FIXME: `-latest` works for most cases, but there are edge-cases where this would
+            # benefit from a more nuanced search.
+            # https://github.com/godotengine/godot/pull/91069#issuecomment-2358956731
+            # https://github.com/godotengine/godot/pull/91069#issuecomment-2380836341
+            args = [
+                env["VSWHERE"],
+                "-latest",
+                "-prerelease",
+                "-products",
+                "*",
+                "-requires",
+                "Microsoft.Component.MSBuild",
+                "-utf8",
+            ]
             version = subprocess.check_output(args, encoding="utf-8").strip()
             for line in version.splitlines():
                 split = line.split(":", 1)
@@ -816,6 +829,8 @@ def get_compiler_version(env):
                     ret["major"] = int(sem_ver[0])
                     ret["minor"] = int(sem_ver[1])
                     ret["patch"] = int(sem_ver[2])
+                # Could potentially add section for determining preview version, but
+                # that can wait until metadata is actually used for something.
                 if split[0] == "catalog_buildVersion":
                     ret["metadata1"] = split[1]
         except (subprocess.CalledProcessError, OSError):