mirror of
https://github.com/godotengine/godot-build-scripts.git
synced 2026-01-04 02:09:44 +03:00
Follow-up to https://github.com/godotengine/build-containers/pull/128. Also reverts #88 since these new images include JDK 17, and the closure compiler issue was fixed upstream. And removes the manual install of gettext which is now also part of the images. X11 libs should not be needed to generate the Mono glue anymore (they've been unnecessary for a while already).
74 lines
1.7 KiB
Bash
Executable File
74 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
# Config
|
|
|
|
# To speed up builds with single-threaded full LTO linking,
|
|
# we run all builds in parallel each from their own folder.
|
|
export NUM_JOBS=5
|
|
declare -a JOBS=(
|
|
"target=editor use_closure_compiler=yes"
|
|
"target=template_debug"
|
|
"target=template_release"
|
|
"target=template_debug dlink_enabled=yes"
|
|
"target=template_release dlink_enabled=yes"
|
|
)
|
|
|
|
export SCONS="scons -j$(expr ${NUM_CORES} / ${NUM_JOBS}) verbose=yes warnings=no progress=no"
|
|
export OPTIONS="production=yes"
|
|
export OPTIONS_MONO="module_mono_enabled=yes -j${NUM_CORES}"
|
|
export TERM=xterm
|
|
|
|
source /root/emsdk/emsdk_env.sh
|
|
|
|
rm -rf godot
|
|
mkdir godot
|
|
cd godot
|
|
tar xf /root/godot.tar.gz --strip-components=1
|
|
|
|
# Classical
|
|
|
|
if [ "${CLASSICAL}" == "1" ]; then
|
|
echo "Starting classical build for Web..."
|
|
|
|
for i in {0..4}; do
|
|
cp -r /root/godot /root/godot$i
|
|
cd /root/godot$i
|
|
echo "$SCONS platform=web ${OPTIONS} ${JOBS[$i]}"
|
|
$SCONS platform=web ${OPTIONS} ${JOBS[$i]} &
|
|
pids[$i]=$!
|
|
done
|
|
|
|
for pid in ${pids[*]}; do
|
|
wait $pid
|
|
done
|
|
|
|
mkdir -p /root/out/tools
|
|
cp -rvp /root/godot0/bin/*.editor*.zip /root/out/tools
|
|
|
|
mkdir -p /root/out/templates
|
|
for i in {1..4}; do
|
|
cp -rvp /root/godot$i/bin/*.zip /root/out/templates
|
|
done
|
|
fi
|
|
|
|
# Mono
|
|
|
|
# No Web support with .NET 6 yet.
|
|
#if [ "${MONO}" == "1" ]; then
|
|
if false; then
|
|
echo "Starting Mono build for Web..."
|
|
|
|
cp -r /root/mono-glue/GodotSharp/GodotSharp/Generated modules/mono/glue/GodotSharp/GodotSharp/
|
|
|
|
$SCONS platform=web ${OPTIONS} ${OPTIONS_MONO} target=template_debug
|
|
$SCONS platform=web ${OPTIONS} ${OPTIONS_MONO} target=template_release
|
|
|
|
mkdir -p /root/out/templates-mono
|
|
cp -rvp bin/*.zip /root/out/templates-mono
|
|
rm -f bin/*.zip
|
|
fi
|
|
|
|
echo "Web build successful"
|