This commit is contained in:
Arctis-Fireblight
2025-08-27 23:18:33 -05:00
177 changed files with 1631 additions and 967 deletions

View File

@@ -327,4 +327,4 @@ GH-108825
---------
Validate extension JSON: Error: Field 'classes/EditorExportPlatformExtension/methods/_get_option_icon/return_value': type changed value in new API, from "ImageTexture" to "Texture2D".
Return type changed to allow returning both ImageTexture and SVGTexture. Compatibility method registered.
Return type changed to allow returning both ImageTexture and DPITexture. Compatibility method registered.

View File

@@ -1,5 +1,9 @@
#!/usr/bin/env python
if __name__ != "__main__":
raise SystemExit(f'Utility script "{__file__}" should not be used as a module!')
import argparse
import os
import shutil
import subprocess
@@ -10,6 +14,14 @@ sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), "../
from misc.utility.color import Ansi, color_print
parser = argparse.ArgumentParser(description="Install D3D12 dependencies for Windows platforms.")
parser.add_argument(
"--mingw_prefix",
default=os.getenv("MINGW_PREFIX", ""),
help="Explicitly specify a path containing the MinGW bin folder.",
)
args = parser.parse_args()
# Base Godot dependencies path
# If cross-compiling (no LOCALAPPDATA), we install in `bin`
deps_folder = os.getenv("LOCALAPPDATA")
@@ -74,10 +86,11 @@ print("Mesa NIR installed successfully.\n")
# MinGW needs DLLs converted with dlltool.
# We rely on finding gendef/dlltool to detect if we have MinGW.
# Check existence of needed tools for generating mingw library.
gendef = shutil.which("gendef") or ""
dlltool = shutil.which("dlltool") or ""
if dlltool == "":
dlltool = shutil.which("x86_64-w64-mingw32-dlltool") or ""
pathstr = os.environ.get("PATH", "")
if args.mingw_prefix:
pathstr = os.path.join(args.mingw_prefix, "bin") + os.pathsep + pathstr
gendef = shutil.which("x86_64-w64-mingw32-gendef", path=pathstr) or shutil.which("gendef", path=pathstr) or ""
dlltool = shutil.which("x86_64-w64-mingw32-dlltool", path=pathstr) or shutil.which("dlltool", path=pathstr) or ""
has_mingw = gendef != "" and dlltool != ""
color_print(f"{Ansi.BOLD}[2/3] WinPixEventRuntime")
@@ -107,7 +120,9 @@ if has_mingw:
)
os.chdir(cwd)
else:
print("MinGW wasn't found, so only MSVC support is provided for WinPixEventRuntime.")
print(
'MinGW support requires "dlltool" and "gendef" dependencies, so only MSVC support is provided for WinPixEventRuntime. Did you forget to provide a `--mingw_prefix`?'
)
print(f"WinPixEventRuntime {pix_version} installed successfully.\n")
# DirectX 12 Agility SDK