Skip to content

Commit c3f2029

Browse files
committed
Add commands to make ARM64 Windows engine builds, update Mesa/NIR and ANGLE downloads to the latest releases.
1 parent 3cb13f2 commit c3f2029

File tree

3 files changed

+69
-7
lines changed

3 files changed

+69
-7
lines changed

build-release.sh

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -289,15 +289,28 @@ if [ "${build_classical}" == "1" ]; then
289289
zip -q -9 "${reldir}/${binname}.zip" ${binname} ${wrpname}
290290
rm ${binname} ${wrpname}
291291

292+
binname="${godot_basename}_arm64.exe"
293+
wrpname="${godot_basename}_arm64_console.exe"
294+
cp out/windows/arm64/tools/godot.windows.editor.arm64.llvm.exe ${binname}
295+
sign_windows ${binname}
296+
cp out/windows/arm64/tools/godot.windows.editor.arm64.llvm.console.exe ${wrpname}
297+
sign_windows ${wrpname}
298+
zip -q -9 "${reldir}/${binname}.zip" ${binname} ${wrpname}
299+
rm ${binname} ${wrpname}
300+
292301
# Templates
293302
cp out/windows/x86_64/templates/godot.windows.template_release.x86_64.exe ${templatesdir}/windows_release_x86_64.exe
294303
cp out/windows/x86_64/templates/godot.windows.template_debug.x86_64.exe ${templatesdir}/windows_debug_x86_64.exe
295304
cp out/windows/x86_32/templates/godot.windows.template_release.x86_32.exe ${templatesdir}/windows_release_x86_32.exe
296305
cp out/windows/x86_32/templates/godot.windows.template_debug.x86_32.exe ${templatesdir}/windows_debug_x86_32.exe
306+
cp out/windows/arm64/templates/godot.windows.template_release.arm64.llvm.exe ${templatesdir}/windows_release_arm64.exe
307+
cp out/windows/arm64/templates/godot.windows.template_debug.arm64.llvm.exe ${templatesdir}/windows_debug_arm64.exe
297308
cp out/windows/x86_64/templates/godot.windows.template_release.x86_64.console.exe ${templatesdir}/windows_release_x86_64_console.exe
298309
cp out/windows/x86_64/templates/godot.windows.template_debug.x86_64.console.exe ${templatesdir}/windows_debug_x86_64_console.exe
299310
cp out/windows/x86_32/templates/godot.windows.template_release.x86_32.console.exe ${templatesdir}/windows_release_x86_32_console.exe
300311
cp out/windows/x86_32/templates/godot.windows.template_debug.x86_32.console.exe ${templatesdir}/windows_debug_x86_32_console.exe
312+
cp out/windows/arm64/templates/godot.windows.template_release.arm64.llvm.console.exe ${templatesdir}/windows_release_arm64_console.exe
313+
cp out/windows/arm64/templates/godot.windows.template_debug.arm64.llvm.console.exe ${templatesdir}/windows_debug_arm64_console.exe
301314

302315
## macOS (Classical) ##
303316

@@ -462,15 +475,30 @@ if [ "${build_mono}" == "1" ]; then
462475
zip -r -q -9 "${reldir_mono}/${binname}.zip" ${binname}
463476
rm -rf ${binname}
464477

478+
binname="${godot_basename}_mono_arm64"
479+
wrpname="${godot_basename}_mono_arm64_console"
480+
mkdir -p ${binname}
481+
cp out/windows/arm64/tools-mono/godot.windows.editor.arm64.llvm.mono.exe ${binname}/${binname}.exe
482+
sign_windows ${binname}/${binname}.exe
483+
cp -rp out/windows/arm64/tools-mono/GodotSharp ${binname}/
484+
cp out/windows/arm64/tools-mono/godot.windows.editor.arm64.llvm.mono.console.exe ${binname}/${wrpname}.exe
485+
sign_windows ${binname}/${wrpname}.exe
486+
zip -r -q -9 "${reldir_mono}/${binname}.zip" ${binname}
487+
rm -rf ${binname}
488+
465489
# Templates
466490
cp out/windows/x86_64/templates-mono/godot.windows.template_debug.x86_64.mono.exe ${templatesdir_mono}/windows_debug_x86_64.exe
467491
cp out/windows/x86_64/templates-mono/godot.windows.template_release.x86_64.mono.exe ${templatesdir_mono}/windows_release_x86_64.exe
468492
cp out/windows/x86_32/templates-mono/godot.windows.template_debug.x86_32.mono.exe ${templatesdir_mono}/windows_debug_x86_32.exe
469493
cp out/windows/x86_32/templates-mono/godot.windows.template_release.x86_32.mono.exe ${templatesdir_mono}/windows_release_x86_32.exe
494+
cp out/windows/arm64/templates-mono/godot.windows.template_debug.arm64.llvm.mono.exe ${templatesdir_mono}/windows_debug_arm64.exe
495+
cp out/windows/arm64/templates-mono/godot.windows.template_release.arm64.llvm.mono.exe ${templatesdir_mono}/windows_release_arm64.exe
470496
cp out/windows/x86_64/templates-mono/godot.windows.template_debug.x86_64.mono.console.exe ${templatesdir_mono}/windows_debug_x86_64_console.exe
471497
cp out/windows/x86_64/templates-mono/godot.windows.template_release.x86_64.mono.console.exe ${templatesdir_mono}/windows_release_x86_64_console.exe
472498
cp out/windows/x86_32/templates-mono/godot.windows.template_debug.x86_32.mono.console.exe ${templatesdir_mono}/windows_debug_x86_32_console.exe
473499
cp out/windows/x86_32/templates-mono/godot.windows.template_release.x86_32.mono.console.exe ${templatesdir_mono}/windows_release_x86_32_console.exe
500+
cp out/windows/arm64/templates-mono/godot.windows.template_debug.arm64.llvm.mono.console.exe ${templatesdir_mono}/windows_debug_arm64_console.exe
501+
cp out/windows/arm64/templates-mono/godot.windows.template_release.arm64.llvm.mono.console.exe ${templatesdir_mono}/windows_release_arm64_console.exe
474502

475503
## macOS (Mono) ##
476504

build-windows/build.sh

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@ set -e
55
# Config
66

77
export SCONS="scons -j${NUM_CORES} verbose=yes warnings=no progress=no"
8-
export OPTIONS="production=yes angle_libs=/root/angle mesa_libs=/root/mesa d3d12=yes"
8+
export OPTIONS="production=yes use_mingw=yes angle_libs=/root/angle mesa_libs=/root/mesa d3d12=yes"
99
export OPTIONS_MONO="module_mono_enabled=yes"
10+
export OPTIONS_LLVM="use_llvm=yes mingw_prefix=/root/llvm-mingw"
1011
export TERM=xterm
1112

1213
rm -rf godot
@@ -40,6 +41,17 @@ if [ "${CLASSICAL}" == "1" ]; then
4041
mkdir -p /root/out/x86_32/templates
4142
cp -rvp bin/* /root/out/x86_32/templates
4243
rm -rf bin
44+
45+
$SCONS platform=windows arch=arm64 $OPTIONS $OPTIONS_LLVM target=editor
46+
mkdir -p /root/out/arm64/tools
47+
cp -rvp bin/* /root/out/arm64/tools
48+
rm -rf bin
49+
50+
$SCONS platform=windows arch=arm64 $OPTIONS $OPTIONS_LLVM target=template_debug
51+
$SCONS platform=windows arch=arm64 $OPTIONS $OPTIONS_LLVM target=template_release
52+
mkdir -p /root/out/arm64/templates
53+
cp -rvp bin/* /root/out/arm64/templates
54+
rm -rf bin
4355
fi
4456

4557
# Mono
@@ -73,6 +85,18 @@ if [ "${MONO}" == "1" ]; then
7385
mkdir -p /root/out/x86_32/templates-mono
7486
cp -rvp bin/* /root/out/x86_32/templates-mono
7587
rm -rf bin
88+
89+
$SCONS platform=windows arch=arm64 $OPTIONS $OPTIONS_MONO $OPTIONS_LLVM target=editor
90+
./modules/mono/build_scripts/build_assemblies.py --godot-output-dir=./bin --godot-platform=windows
91+
mkdir -p /root/out/arm64/tools-mono
92+
cp -rvp bin/* /root/out/arm64/tools-mono
93+
rm -rf bin
94+
95+
$SCONS platform=windows arch=arm64 $OPTIONS $OPTIONS_MONO $OPTIONS_LLVM target=template_debug
96+
$SCONS platform=windows arch=arm64 $OPTIONS $OPTIONS_MONO $OPTIONS_LLVM target=template_release
97+
mkdir -p /root/out/arm64/templates-mono
98+
cp -rvp bin/* /root/out/arm64/templates-mono
99+
rm -rf bin
76100
fi
77101

78102
echo "Windows build successful"

build.sh

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -148,19 +148,29 @@ if [ ! -d "deps/angle" ]; then
148148
echo "Missing ANGLE libraries, downloading them."
149149
mkdir -p deps/angle
150150
pushd deps/angle
151-
curl -L -o windows.zip https://github.com/godotengine/godot-angle-static/releases/download/chromium%2F6029/Windows.6029-1.MinGW_11.x86_64.x86_32.zip
152-
curl -L -o macos.zip https://github.com/godotengine/godot-angle-static/releases/download/chromium%2F6029.1/macOS.6029.1.Xcode_15.arm64.x86_64.zip
153-
unzip windows.zip && rm -f windows.zip
154-
unzip macos.zip && rm -f macos.zip
151+
curl -L -o windows_arm64.zip https://github.com/godotengine/godot-angle-static/releases/download/chromium%2F6601/godot-angle-static-arm64-llvm-release.zip
152+
curl -L -o windows_x86_64.zip https://github.com/godotengine/godot-angle-static/releases/download/chromium%2F6601/godot-angle-static-x86_64-gcc-release.zip
153+
curl -L -o windows_x86_32.zip https://github.com/godotengine/godot-angle-static/releases/download/chromium%2F6601/godot-angle-static-x86_32-gcc-release.zip
154+
curl -L -o macos_arm64.zip https://github.com/godotengine/godot-angle-static/releases/download/chromium%2F6601/godot-angle-static-arm64-macos-release.zip
155+
curl -L -o macos_x86_64.zip https://github.com/godotengine/godot-angle-static/releases/download/chromium%2F6601/godot-angle-static-x86_64-macos-release.zip
156+
unzip -o windows_arm64.zip && rm -f windows_arm64.zip
157+
unzip -o windows_x86_64.zip && rm -f windows_x86_64.zip
158+
unzip -o windows_x86_32.zip && rm -f windows_x86_32.zip
159+
unzip -o macos_arm64.zip && rm -f macos_arm64.zip
160+
unzip -o macos_x86_64.zip && rm -f macos_x86_64.zip
155161
popd
156162
fi
157163

158164
if [ ! -d "deps/mesa" ]; then
159165
echo "Missing Mesa/NIR libraries, downloading them."
160166
mkdir -p deps/mesa
161167
pushd deps/mesa
162-
curl -L -o mesa.zip https://github.com/godotengine/godot-nir-static/releases/download/23.1.9/godot-nir-23.1.9.zip
163-
unzip mesa.zip && rm -f mesa.zip
168+
curl -L -o mesa_arm64.zip https://github.com/godotengine/godot-nir-static/releases/download/23.1.9-1/godot-nir-static-arm64-llvm-release.zip
169+
curl -L -o mesa_x86_64.zip https://github.com/godotengine/godot-nir-static/releases/download/23.1.9-1/godot-nir-static-x86_64-gcc-release.zip
170+
curl -L -o mesa_x86_32.zip https://github.com/godotengine/godot-nir-static/releases/download/23.1.9-1/godot-nir-static-x86_32-gcc-release.zip
171+
unzip -o mesa_arm64.zip && rm -f mesa_arm64.zip
172+
unzip -o mesa_x86_64.zip && rm -f mesa_x86_64.zip
173+
unzip -o mesa_x86_32.zip && rm -f mesa_x86_32.zip
164174
popd
165175
fi
166176

0 commit comments

Comments
 (0)