mirror of
https://github.com/godotengine/godot-build-scripts.git
synced 2026-01-04 02:09:44 +03:00
Compare commits
110 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1992e8a646 | ||
|
|
bd3ec27eae | ||
|
|
2f690a7a57 | ||
|
|
b7631eb300 | ||
|
|
4f89dc38b1 | ||
|
|
93ac9c068e | ||
|
|
8405945b79 | ||
|
|
b2aef95606 | ||
|
|
4c9e58d98f | ||
|
|
135ad22e07 | ||
|
|
26bb927614 | ||
|
|
81c1fa10ef | ||
|
|
a0675bb238 | ||
|
|
6ebf52fda5 | ||
|
|
8adfdd068e | ||
|
|
720b0fe6c0 | ||
|
|
d5ba16cc46 | ||
|
|
59559971b5 | ||
|
|
45abfae75f | ||
|
|
7ac3b65e39 | ||
|
|
a679b94dfc | ||
|
|
0d2393cf02 | ||
|
|
eca85cfe19 | ||
|
|
c2c68da015 | ||
|
|
bcd0bd19bc | ||
|
|
a2e4b98977 | ||
|
|
b801e7174c | ||
|
|
0cf003077e | ||
|
|
e11c111d4a | ||
|
|
b41396bb1a | ||
|
|
c3bde1260d | ||
|
|
6824ba765b | ||
|
|
f2e9922e2d | ||
|
|
ed20196ea5 | ||
|
|
7bfa40e79e | ||
|
|
295431f722 | ||
|
|
51b552afc1 | ||
|
|
ad0d6918ec | ||
|
|
fbe75b39bc | ||
|
|
63133b65a4 | ||
|
|
a2649d96d0 | ||
|
|
f6ddb4e192 | ||
|
|
2bdb21c164 | ||
|
|
a94d978de6 | ||
|
|
faba7ebc50 | ||
|
|
9f2d00d177 | ||
|
|
ba0aa611d5 | ||
|
|
2e84f0b015 | ||
|
|
162cced016 | ||
|
|
01bf08cd9b | ||
|
|
2d656c918b | ||
|
|
39d2591051 | ||
|
|
9d80bcad67 | ||
|
|
78d64f285a | ||
|
|
e0d7b61e0e | ||
|
|
55373a69fb | ||
|
|
e4c94535c7 | ||
|
|
236efef7aa | ||
|
|
365596d3f0 | ||
|
|
38be71ef26 | ||
|
|
6e1556cf2b | ||
|
|
8d9ed90058 | ||
|
|
2e2fa65c67 | ||
|
|
f40716e53e | ||
|
|
33c8511a37 | ||
|
|
f3a5097159 | ||
|
|
c371cddcb5 | ||
|
|
a5d0f200b2 | ||
|
|
e0da42acd5 | ||
|
|
6499c248c1 | ||
|
|
abe22bbfcb | ||
|
|
5bc7435255 | ||
|
|
2190e23987 | ||
|
|
37ecf63e62 | ||
|
|
0a5547b12c | ||
|
|
02510df163 | ||
|
|
21da21455b | ||
|
|
1dddb1fb3a | ||
|
|
7024ac71f9 | ||
|
|
6bee8dec2e | ||
|
|
cab5d6f3c8 | ||
|
|
8eae1668f5 | ||
|
|
74cc8c712c | ||
|
|
0d85e09ebd | ||
|
|
1bd06975a9 | ||
|
|
37d7666b7b | ||
|
|
fe6e7b1e4e | ||
|
|
744b520910 | ||
|
|
463b957716 | ||
|
|
c44015dcec | ||
|
|
9ddda05e01 | ||
|
|
046ad85d00 | ||
|
|
279085ccce | ||
|
|
4797f217f0 | ||
|
|
964f9ca78f | ||
|
|
7a413ea5ec | ||
|
|
4b05de4339 | ||
|
|
3a3777b4db | ||
|
|
e365a856d3 | ||
|
|
5167633b6a | ||
|
|
5a7ffb3722 | ||
|
|
4d8e6dcb49 | ||
|
|
7b2cf596dc | ||
|
|
313cd37206 | ||
|
|
c53fb590aa | ||
|
|
9176967e98 | ||
|
|
d93b0785a8 | ||
|
|
4e6b7462b6 | ||
|
|
ee823e5177 | ||
|
|
0341022b36 |
8
.gitignore
vendored
8
.gitignore
vendored
@@ -1,14 +1,20 @@
|
|||||||
# User-specific configuration and signing key
|
# User-specific configuration and signing key
|
||||||
config.sh
|
config.sh
|
||||||
|
*.jks
|
||||||
|
*.pfx
|
||||||
*.pkcs12
|
*.pkcs12
|
||||||
|
|
||||||
# Generated by build scripts
|
# Generated by build scripts
|
||||||
angle/
|
angle/
|
||||||
|
deps/
|
||||||
git/
|
git/
|
||||||
mono-glue/
|
mono-glue/
|
||||||
godot.tar.gz
|
godot*.tar.gz
|
||||||
|
angle.7z
|
||||||
|
|
||||||
# Output
|
# Output
|
||||||
out/
|
out/
|
||||||
releases/
|
releases/
|
||||||
|
sha512sums/
|
||||||
tmp/
|
tmp/
|
||||||
|
web/
|
||||||
|
|||||||
@@ -21,14 +21,11 @@ this in a simple and user-friendly interface.
|
|||||||
containers.
|
containers.
|
||||||
- Build with `build.sh` (check `--help` for usage).
|
- Build with `build.sh` (check `--help` for usage).
|
||||||
- Package binaries with `build-release.sh` (check `--help` for usage).
|
- Package binaries with `build-release.sh` (check `--help` for usage).
|
||||||
- Build templates .tpz with `build-templates.sh` (check `--help` for
|
|
||||||
usage).
|
|
||||||
|
|
||||||
Example that builds Godot 3.2-stable Classical (not Mono):
|
Example that builds Godot 3.2-stable Classical (not Mono):
|
||||||
```
|
```
|
||||||
./build.sh -v 3.2-stable -g 3.2-stable -b classical
|
./build.sh -v 3.2-stable -g 3.2-stable -b classical
|
||||||
./build-release.sh -v 3.2-stable -b classical
|
./build-release.sh -v 3.2-stable -t 3.2.stable -b classical
|
||||||
./build-templates.sh -v 3.2-stable -t 3.2.stable -b classical
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Again, this is intended for release managers and usability is not the
|
Again, this is intended for release managers and usability is not the
|
||||||
|
|||||||
@@ -4,9 +4,8 @@ set -e
|
|||||||
|
|
||||||
# Config
|
# Config
|
||||||
|
|
||||||
export BUILD_NAME=official
|
|
||||||
export SCONS="scons -j${NUM_CORES} verbose=yes warnings=no progress=no"
|
export SCONS="scons -j${NUM_CORES} verbose=yes warnings=no progress=no"
|
||||||
export OPTIONS="debug_symbols=no"
|
export OPTIONS="production=yes"
|
||||||
export OPTIONS_MONO="module_mono_enabled=yes mono_static=no"
|
export OPTIONS_MONO="module_mono_enabled=yes mono_static=no"
|
||||||
export TERM=xterm
|
export TERM=xterm
|
||||||
|
|
||||||
@@ -20,6 +19,18 @@ tar xf /root/godot.tar.gz --strip-components=1
|
|||||||
if [ "${CLASSICAL}" == "1" ]; then
|
if [ "${CLASSICAL}" == "1" ]; then
|
||||||
echo "Starting classical build for Android..."
|
echo "Starting classical build for Android..."
|
||||||
|
|
||||||
|
$SCONS platform=android android_arch=armv7 $OPTIONS tools=yes target=release_debug
|
||||||
|
$SCONS platform=android android_arch=arm64v8 $OPTIONS tools=yes target=release_debug
|
||||||
|
$SCONS platform=android android_arch=x86 $OPTIONS tools=yes target=release_debug
|
||||||
|
$SCONS platform=android android_arch=x86_64 $OPTIONS tools=yes target=release_debug
|
||||||
|
|
||||||
|
pushd platform/android/java
|
||||||
|
./gradlew generateGodotEditor
|
||||||
|
popd
|
||||||
|
|
||||||
|
mkdir -p /root/out/tools
|
||||||
|
cp bin/android_editor.apk /root/out/tools/
|
||||||
|
|
||||||
$SCONS platform=android android_arch=armv7 $OPTIONS tools=no target=release_debug
|
$SCONS platform=android android_arch=armv7 $OPTIONS tools=no target=release_debug
|
||||||
$SCONS platform=android android_arch=armv7 $OPTIONS tools=no target=release
|
$SCONS platform=android android_arch=armv7 $OPTIONS tools=no target=release
|
||||||
|
|
||||||
@@ -37,9 +48,10 @@ if [ "${CLASSICAL}" == "1" ]; then
|
|||||||
popd
|
popd
|
||||||
|
|
||||||
mkdir -p /root/out/templates
|
mkdir -p /root/out/templates
|
||||||
cp bin/android_source.zip /root/out/templates
|
cp bin/android_source.zip /root/out/templates/
|
||||||
cp bin/android_debug.apk /root/out/templates/android_debug.apk
|
cp bin/android_debug.apk /root/out/templates/
|
||||||
cp bin/android_release.apk /root/out/templates/android_release.apk
|
cp bin/android_release.apk /root/out/templates/
|
||||||
|
cp bin/godot-lib.release.aar /root/out/templates/
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Mono
|
# Mono
|
||||||
@@ -49,13 +61,12 @@ if [ "${MONO}" == "1" ]; then
|
|||||||
|
|
||||||
cp /root/mono-glue/*.cpp modules/mono/glue/
|
cp /root/mono-glue/*.cpp modules/mono/glue/
|
||||||
cp -r /root/mono-glue/GodotSharp/GodotSharp/Generated modules/mono/glue/GodotSharp/GodotSharp/
|
cp -r /root/mono-glue/GodotSharp/GodotSharp/Generated modules/mono/glue/GodotSharp/GodotSharp/
|
||||||
cp -r /root/mono-glue/GodotSharp/GodotSharpEditor/Generated modules/mono/glue/GodotSharp/GodotSharpEditor/
|
|
||||||
|
|
||||||
$SCONS platform=android android_arch=armv7 $OPTIONS $OPTIONS_MONO mono_prefix=/root/mono-installs/android-armeabi-v7a-release tools=no target=release_debug
|
$SCONS platform=android android_arch=armv7 $OPTIONS $OPTIONS_MONO mono_prefix=/root/mono-installs/android-armv7-release tools=no target=release_debug
|
||||||
$SCONS platform=android android_arch=armv7 $OPTIONS $OPTIONS_MONO mono_prefix=/root/mono-installs/android-armeabi-v7a-release tools=no target=release
|
$SCONS platform=android android_arch=armv7 $OPTIONS $OPTIONS_MONO mono_prefix=/root/mono-installs/android-armv7-release tools=no target=release
|
||||||
|
|
||||||
$SCONS platform=android android_arch=arm64v8 $OPTIONS $OPTIONS_MONO mono_prefix=/root/mono-installs/android-arm64-v8a-release tools=no target=release_debug
|
$SCONS platform=android android_arch=arm64v8 $OPTIONS $OPTIONS_MONO mono_prefix=/root/mono-installs/android-arm64v8-release tools=no target=release_debug
|
||||||
$SCONS platform=android android_arch=arm64v8 $OPTIONS $OPTIONS_MONO mono_prefix=/root/mono-installs/android-arm64-v8a-release tools=no target=release
|
$SCONS platform=android android_arch=arm64v8 $OPTIONS $OPTIONS_MONO mono_prefix=/root/mono-installs/android-arm64v8-release tools=no target=release
|
||||||
|
|
||||||
$SCONS platform=android android_arch=x86 $OPTIONS $OPTIONS_MONO mono_prefix=/root/mono-installs/android-x86-release tools=no target=release_debug
|
$SCONS platform=android android_arch=x86 $OPTIONS $OPTIONS_MONO mono_prefix=/root/mono-installs/android-x86-release tools=no target=release_debug
|
||||||
$SCONS platform=android android_arch=x86 $OPTIONS $OPTIONS_MONO mono_prefix=/root/mono-installs/android-x86-release tools=no target=release
|
$SCONS platform=android android_arch=x86 $OPTIONS $OPTIONS_MONO mono_prefix=/root/mono-installs/android-x86-release tools=no target=release
|
||||||
@@ -68,9 +79,10 @@ if [ "${MONO}" == "1" ]; then
|
|||||||
popd
|
popd
|
||||||
|
|
||||||
mkdir -p /root/out/templates-mono
|
mkdir -p /root/out/templates-mono
|
||||||
cp bin/android_source.zip /root/out/templates-mono
|
cp bin/android_source.zip /root/out/templates-mono/
|
||||||
cp bin/android_debug.apk /root/out/templates-mono/android_debug.apk
|
cp bin/android_debug.apk /root/out/templates-mono/
|
||||||
cp bin/android_release.apk /root/out/templates-mono/android_release.apk
|
cp bin/android_release.apk /root/out/templates-mono/
|
||||||
|
cp bin/godot-lib.release.aar /root/out/templates-mono/
|
||||||
|
|
||||||
mkdir -p /root/out/templates-mono/bcl
|
mkdir -p /root/out/templates-mono/bcl
|
||||||
cp -r /root/mono-installs/android-bcl/* /root/out/templates-mono/bcl/
|
cp -r /root/mono-installs/android-bcl/* /root/out/templates-mono/bcl/
|
||||||
|
|||||||
@@ -4,13 +4,15 @@ set -e
|
|||||||
|
|
||||||
# Config
|
# Config
|
||||||
|
|
||||||
export BUILD_NAME=official
|
|
||||||
export SCONS="scons -j${NUM_CORES} verbose=yes warnings=no progress=no"
|
export SCONS="scons -j${NUM_CORES} verbose=yes warnings=no progress=no"
|
||||||
export IOS_SDK="12.4"
|
# Keep LTO disabled for iOS - it works but it makes linking apps on deploy very slow,
|
||||||
export OPTIONS="osxcross_sdk=darwin18 debug_symbols=no"
|
# which is seen as a regression in the current workflow.
|
||||||
|
export OPTIONS="production=yes use_lto=no"
|
||||||
export OPTIONS_MONO="module_mono_enabled=yes mono_static=yes"
|
export OPTIONS_MONO="module_mono_enabled=yes mono_static=yes"
|
||||||
export TERM=xterm
|
export TERM=xterm
|
||||||
export OSXCROSS_IOS=not_nothing
|
|
||||||
|
export IOS_SDK="15.4"
|
||||||
|
export IOS_LIPO="/root/ioscross/arm64/bin/arm-apple-darwin11-lipo"
|
||||||
|
|
||||||
rm -rf godot
|
rm -rf godot
|
||||||
mkdir godot
|
mkdir godot
|
||||||
@@ -22,28 +24,93 @@ tar xf /root/godot.tar.gz --strip-components=1
|
|||||||
if [ "${CLASSICAL}" == "1" ]; then
|
if [ "${CLASSICAL}" == "1" ]; then
|
||||||
echo "Starting classical build for iOS..."
|
echo "Starting classical build for iOS..."
|
||||||
|
|
||||||
$SCONS platform=iphone $OPTIONS arch=arm64 tools=no target=release_debug IPHONESDK="/root/ioscross/arm64/SDK/iPhoneOS${IOS_SDK}.sdk" IPHONEPATH="/root/ioscross/arm64/" ios_triple="arm-apple-darwin11-"
|
# arm64 device
|
||||||
$SCONS platform=iphone $OPTIONS arch=arm64 tools=no target=release IPHONESDK="/root/ioscross/arm64/SDK/iPhoneOS${IOS_SDK}.sdk" IPHONEPATH="/root/ioscross/arm64/" ios_triple="arm-apple-darwin11-"
|
$SCONS platform=iphone $OPTIONS arch=arm64 tools=no ios_simulator=no target=release_debug \
|
||||||
|
IPHONESDK="/root/ioscross/arm64/SDK/iPhoneOS${IOS_SDK}.sdk" IPHONEPATH="/root/ioscross/arm64/" ios_triple="arm-apple-darwin11-"
|
||||||
|
$SCONS platform=iphone $OPTIONS arch=arm64 tools=no ios_simulator=no target=release \
|
||||||
|
IPHONESDK="/root/ioscross/arm64/SDK/iPhoneOS${IOS_SDK}.sdk" IPHONEPATH="/root/ioscross/arm64/" ios_triple="arm-apple-darwin11-"
|
||||||
|
|
||||||
$SCONS platform=iphone $OPTIONS arch=x86_64 tools=no target=release_debug IPHONESDK="/root/ioscross/x86_64/SDK/iPhoneOS${IOS_SDK}.sdk" IPHONEPATH="/root/ioscross/x86_64/" ios_triple="x86_64-apple-darwin11-"
|
# arm64 simulator
|
||||||
$SCONS platform=iphone $OPTIONS arch=x86_64 tools=no target=release IPHONESDK="/root/ioscross/x86_64/SDK/iPhoneOS${IOS_SDK}.sdk" IPHONEPATH="/root/ioscross/x86_64/" ios_triple="x86_64-apple-darwin11-"
|
# Disabled for now as it doesn't work with cctools-port and current LLVM.
|
||||||
|
# See https://github.com/godotengine/build-containers/pull/85.
|
||||||
|
#$SCONS platform=iphone $OPTIONS arch=arm64 tools=no ios_simulator=yes target=release_debug \
|
||||||
|
# IPHONESDK="/root/ioscross/arm64_sim/SDK/iPhoneOS${IOS_SDK}.sdk" IPHONEPATH="/root/ioscross/arm64_sim/" ios_triple="arm-apple-darwin11-"
|
||||||
|
#$SCONS platform=iphone $OPTIONS arch=arm64 tools=no ios_simulator=no target=release \
|
||||||
|
# IPHONESDK="/root/ioscross/arm64_sim/SDK/iPhoneOS${IOS_SDK}.sdk" IPHONEPATH="/root/ioscross/arm64_sim/" ios_triple="arm-apple-darwin11-"
|
||||||
|
|
||||||
/root/ioscross/arm64/bin/arm-apple-darwin11-lipo -create bin/libgodot.iphone.opt.arm64.a bin/libgodot.iphone.opt.x86_64.a -output /root/out/libgodot.iphone.opt.fat
|
# x86_64 simulator
|
||||||
/root/ioscross/arm64/bin/arm-apple-darwin11-lipo -create bin/libgodot.iphone.opt.debug.arm64.a bin/libgodot.iphone.opt.debug.x86_64.a -output /root/out/libgodot.iphone.opt.debug.fat
|
$SCONS platform=iphone $OPTIONS arch=x86_64 tools=no ios_simulator=yes target=release_debug \
|
||||||
|
IPHONESDK="/root/ioscross/x86_64_sim/SDK/iPhoneOS${IOS_SDK}.sdk" IPHONEPATH="/root/ioscross/x86_64_sim/" ios_triple="x86_64-apple-darwin11-"
|
||||||
|
$SCONS platform=iphone $OPTIONS arch=x86_64 tools=no ios_simulator=yes target=release \
|
||||||
|
IPHONESDK="/root/ioscross/x86_64_sim/SDK/iPhoneOS${IOS_SDK}.sdk" IPHONEPATH="/root/ioscross/x86_64_sim/" ios_triple="x86_64-apple-darwin11-"
|
||||||
|
|
||||||
/root/ioscross/arm64/bin/arm-apple-darwin11-lipo -create bin/libgodot_arkit_module.iphone.opt.arm64.a bin/libgodot_arkit_module.iphone.opt.x86_64.a -output /root/out/libgodot_arkit_module.iphone.opt.fat
|
mkdir -p /root/out/templates
|
||||||
/root/ioscross/arm64/bin/arm-apple-darwin11-lipo -create bin/libgodot_arkit_module.iphone.opt.debug.arm64.a bin/libgodot_arkit_module.iphone.opt.debug.x86_64.a -output /root/out/libgodot_arkit_module.iphone.opt.debug.fat
|
cp bin/libgodot.iphone.opt.arm64.a /root/out/templates/libgodot.iphone.a
|
||||||
|
cp bin/libgodot.iphone.opt.debug.arm64.a /root/out/templates/libgodot.iphone.debug.a
|
||||||
/root/ioscross/arm64/bin/arm-apple-darwin11-lipo -create bin/libgodot_camera_module.iphone.opt.arm64.a bin/libgodot_camera_module.iphone.opt.x86_64.a -output /root/out/libgodot_camera_module.iphone.opt.fat
|
#$IOS_LIPO -create bin/libgodot.iphone.opt.arm64.simulator.a bin/libgodot.iphone.opt.x86_64.simulator.a -output /root/out/templates/libgodot.iphone.simulator.a
|
||||||
/root/ioscross/arm64/bin/arm-apple-darwin11-lipo -create bin/libgodot_camera_module.iphone.opt.debug.arm64.a bin/libgodot_camera_module.iphone.opt.debug.x86_64.a -output /root/out/libgodot_camera_module.iphone.opt.debug.fat
|
#$IOS_LIPO -create bin/libgodot.iphone.opt.debug.arm64.simulator.a bin/libgodot.iphone.opt.debug.x86_64.simulator.a -output /root/out/templates/libgodot.iphone.debug.simulator.a
|
||||||
|
cp bin/libgodot.iphone.opt.x86_64.simulator.a /root/out/templates/libgodot.iphone.simulator.a
|
||||||
|
cp bin/libgodot.iphone.opt.debug.x86_64.simulator.a /root/out/templates/libgodot.iphone.debug.simulator.a
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Mono
|
# Mono
|
||||||
|
|
||||||
if [ "${MONO}" == "1" ]; then
|
if [ "${MONO}" == "1" ]; then
|
||||||
echo "No Mono support for iOS yet."
|
echo "Starting Mono build for iOS..."
|
||||||
#cp /root/mono-glue/*.cpp modules/mono/glue/
|
|
||||||
#cp -r /root/mono-glue/Managed/Generated modules/mono/glue/Managed/
|
cp /root/mono-glue/*.cpp modules/mono/glue/
|
||||||
|
cp -r /root/mono-glue/GodotSharp/GodotSharp/Generated modules/mono/glue/GodotSharp/GodotSharp/
|
||||||
|
cp -r /root/mono-glue/GodotSharp/GodotSharpEditor/Generated modules/mono/glue/GodotSharp/GodotSharpEditor/
|
||||||
|
|
||||||
|
# arm64 device
|
||||||
|
$SCONS platform=iphone $OPTIONS $OPTIONS_MONO arch=arm64 ios_simulator=no mono_prefix=/root/mono-installs/ios-arm64-release tools=no target=release_debug \
|
||||||
|
IPHONESDK="/root/ioscross/arm64/SDK/iPhoneOS${IOS_SDK}.sdk" IPHONEPATH="/root/ioscross/arm64/" ios_triple="arm-apple-darwin11-"
|
||||||
|
$SCONS platform=iphone $OPTIONS $OPTIONS_MONO arch=arm64 ios_simulator=no mono_prefix=/root/mono-installs/ios-arm64-release tools=no target=release \
|
||||||
|
IPHONESDK="/root/ioscross/arm64/SDK/iPhoneOS${IOS_SDK}.sdk" IPHONEPATH="/root/ioscross/arm64/" ios_triple="arm-apple-darwin11-"
|
||||||
|
|
||||||
|
# arm64 simulator
|
||||||
|
# Disabled for now as it doesn't work with cctools-port and current LLVM.
|
||||||
|
# See https://github.com/godotengine/build-containers/pull/85.
|
||||||
|
#$SCONS platform=iphone $OPTIONS $OPTIONS_MONO arch=arm64 ios_simulator=yes mono_prefix=/root/mono-installs/ios-arm64-sim-release tools=no target=release_debug \
|
||||||
|
# IPHONESDK="/root/ioscross/arm64_sim/SDK/iPhoneOS${IOS_SDK}.sdk" IPHONEPATH="/root/ioscross/arm64_sim/" ios_triple="arm-apple-darwin11-"
|
||||||
|
#$SCONS platform=iphone $OPTIONS $OPTIONS_MONO arch=arm64 ios_simulator=yes mono_prefix=/root/mono-installs/ios-arm64-sim-release tools=no target=release \
|
||||||
|
# IPHONESDK="/root/ioscross/arm64_sim/SDK/iPhoneOS${IOS_SDK}.sdk" IPHONEPATH="/root/ioscross/arm64_sim/" ios_triple="arm-apple-darwin11-"
|
||||||
|
|
||||||
|
# x86_64 simulator
|
||||||
|
$SCONS platform=iphone $OPTIONS $OPTIONS_MONO arch=x86_64 ios_simulator=yes mono_prefix=/root/mono-installs/ios-x86_64-release tools=no target=release_debug \
|
||||||
|
IPHONESDK="/root/ioscross/x86_64_sim/SDK/iPhoneOS${IOS_SDK}.sdk" IPHONEPATH="/root/ioscross/x86_64_sim/" ios_triple="x86_64-apple-darwin11-"
|
||||||
|
$SCONS platform=iphone $OPTIONS $OPTIONS_MONO arch=x86_64 ios_simulator=yes mono_prefix=/root/mono-installs/ios-x86_64-release tools=no target=release \
|
||||||
|
IPHONESDK="/root/ioscross/x86_64_sim/SDK/iPhoneOS${IOS_SDK}.sdk" IPHONEPATH="/root/ioscross/x86_64_sim/" ios_triple="x86_64-apple-darwin11-"
|
||||||
|
|
||||||
|
mkdir -p /root/out/templates-mono
|
||||||
|
|
||||||
|
cp bin/libgodot.iphone.opt.arm64.a /root/out/templates-mono/libgodot.iphone.a
|
||||||
|
cp bin/libgodot.iphone.opt.debug.arm64.a /root/out/templates-mono/libgodot.iphone.debug.a
|
||||||
|
#$IOS_LIPO -create bin/libgodot.iphone.opt.arm64.simulator.a bin/libgodot.iphone.opt.x86_64.simulator.a -output /root/out/templates-mono/libgodot.iphone.simulator.a
|
||||||
|
#$IOS_LIPO -create bin/libgodot.iphone.opt.debug.arm64.simulator.a bin/libgodot.iphone.opt.debug.x86_64.simulator.a -output /root/out/templates-mono/libgodot.iphone.debug.simulator.a
|
||||||
|
cp bin/libgodot.iphone.opt.x86_64.simulator.a /root/out/templates-mono/libgodot.iphone.simulator.a
|
||||||
|
cp bin/libgodot.iphone.opt.debug.x86_64.simulator.a /root/out/templates-mono/libgodot.iphone.debug.simulator.a
|
||||||
|
|
||||||
|
cp -r misc/dist/iphone-mono-libs /root/out/templates-mono/iphone-mono-libs
|
||||||
|
|
||||||
|
cp bin/libmonosgen-2.0.iphone.arm64.a /root/out/templates-mono/iphone-mono-libs/libmonosgen-2.0.xcframework/ios-arm64/libmonosgen.a
|
||||||
|
cp bin/libmono-native.iphone.arm64.a /root/out/templates-mono/iphone-mono-libs/libmono-native.xcframework/ios-arm64/libmono-native.a
|
||||||
|
cp bin/libmono-profiler-log.iphone.arm64.a /root/out/templates-mono/iphone-mono-libs/libmono-profiler-log.xcframework/ios-arm64/libmono-profiler-log.a
|
||||||
|
|
||||||
|
#$IOS_LIPO -create bin/libmonosgen-2.0.iphone.arm64.simulator.a bin/libmonosgen-2.0.iphone.x86_64.simulator.a -output /root/out/templates-mono/iphone-mono-libs/libmonosgen-2.0.xcframework/ios-arm64_x86_64-simulator/libmonosgen.a
|
||||||
|
#$IOS_LIPO -create bin/libmono-native.iphone.arm64.simulator.a bin/libmono-native.iphone.x86_64.simulator.a -output /root/out/templates-mono/iphone-mono-libs/libmono-native.xcframework/ios-arm64_x86_64-simulator/libmono-native.a
|
||||||
|
#$IOS_LIPO -create bin/libmono-profiler-log.iphone.arm64.simulator.a bin/libmono-profiler-log.iphone.x86_64.simulator.a -output /root/out/templates-mono/iphone-mono-libs/libmono-profiler-log.xcframework/ios-arm64_x86_64-simulator/libmono-profiler-log.a
|
||||||
|
cp bin/libmonosgen-2.0.iphone.x86_64.simulator.a /root/out/templates-mono/iphone-mono-libs/libmonosgen-2.0.xcframework/ios-arm64_x86_64-simulator/libmonosgen.a
|
||||||
|
cp bin/libmono-native.iphone.x86_64.simulator.a /root/out/templates-mono/iphone-mono-libs/libmono-native.xcframework/ios-arm64_x86_64-simulator/libmono-native.a
|
||||||
|
cp bin/libmono-profiler-log.iphone.x86_64.simulator.a /root/out/templates-mono/iphone-mono-libs/libmono-profiler-log.xcframework/ios-arm64_x86_64-simulator/libmono-profiler-log.a
|
||||||
|
|
||||||
|
# The Mono libraries for the interpreter are not available for simulator builds
|
||||||
|
cp bin/libmono-ee-interp.iphone.arm64.a /root/out/templates-mono/iphone-mono-libs/libmono-ee-interp.xcframework/ios-arm64/libmono-ee-interp.a
|
||||||
|
cp bin/libmono-icall-table.iphone.arm64.a /root/out/templates-mono/iphone-mono-libs/libmono-icall-table.xcframework/ios-arm64/libmono-icall-table.a
|
||||||
|
cp bin/libmono-ilgen.iphone.arm64.a /root/out/templates-mono/iphone-mono-libs/libmono-ilgen.xcframework/ios-arm64/libmono-ilgen.a
|
||||||
|
|
||||||
|
mkdir -p /root/out/templates-mono/bcl
|
||||||
|
cp -r /root/mono-installs/ios-bcl/* /root/out/templates-mono/bcl
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "iOS build successful"
|
echo "iOS build successful"
|
||||||
|
|||||||
@@ -4,10 +4,9 @@ set -e
|
|||||||
|
|
||||||
# Config
|
# Config
|
||||||
|
|
||||||
export BUILD_NAME=official
|
|
||||||
export SCONS="scons -j${NUM_CORES} verbose=yes warnings=no progress=no"
|
export SCONS="scons -j${NUM_CORES} verbose=yes warnings=no progress=no"
|
||||||
export OPTIONS="debug_symbols=no"
|
export OPTIONS="production=yes"
|
||||||
export OPTIONS_MONO="module_mono_enabled=yes mono_static=yes mono_prefix=/root/mono-installs/wasm-runtime-release"
|
export OPTIONS_MONO="module_mono_enabled=yes mono_static=yes mono_prefix=/root/mono-installs/wasm-runtime-release use_lto=no"
|
||||||
export TERM=xterm
|
export TERM=xterm
|
||||||
|
|
||||||
rm -rf godot
|
rm -rf godot
|
||||||
@@ -20,12 +19,27 @@ tar xf /root/godot.tar.gz --strip-components=1
|
|||||||
if [ "${CLASSICAL}" == "1" ]; then
|
if [ "${CLASSICAL}" == "1" ]; then
|
||||||
echo "Starting classical build for JavaScript..."
|
echo "Starting classical build for JavaScript..."
|
||||||
|
|
||||||
|
source /root/emsdk_${EMSCRIPTEN_CLASSICAL}/emsdk_env.sh
|
||||||
|
|
||||||
$SCONS platform=javascript ${OPTIONS} target=release_debug tools=no
|
$SCONS platform=javascript ${OPTIONS} target=release_debug tools=no
|
||||||
$SCONS platform=javascript ${OPTIONS} target=release tools=no
|
$SCONS platform=javascript ${OPTIONS} target=release tools=no
|
||||||
|
|
||||||
|
$SCONS platform=javascript ${OPTIONS} target=release_debug tools=no threads_enabled=yes
|
||||||
|
$SCONS platform=javascript ${OPTIONS} target=release tools=no threads_enabled=yes
|
||||||
|
|
||||||
|
$SCONS platform=javascript ${OPTIONS} target=release_debug tools=no gdnative_enabled=yes
|
||||||
|
$SCONS platform=javascript ${OPTIONS} target=release tools=no gdnative_enabled=yes
|
||||||
|
|
||||||
mkdir -p /root/out/templates
|
mkdir -p /root/out/templates
|
||||||
cp -rvp bin/*.zip /root/out/templates
|
cp -rvp bin/*.zip /root/out/templates
|
||||||
rm -f bin/*.zip
|
rm -f bin/*.zip
|
||||||
|
|
||||||
|
$SCONS platform=javascript ${OPTIONS} target=release_debug tools=yes threads_enabled=yes use_closure_compiler=yes
|
||||||
|
|
||||||
|
mkdir -p /root/out/tools
|
||||||
|
cp -rvp bin/*.zip /root/out/tools
|
||||||
|
rm -f bin/*.zip
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Mono
|
# Mono
|
||||||
@@ -33,6 +47,8 @@ fi
|
|||||||
if [ "${MONO}" == "1" ]; then
|
if [ "${MONO}" == "1" ]; then
|
||||||
echo "Starting Mono build for JavaScript..."
|
echo "Starting Mono build for JavaScript..."
|
||||||
|
|
||||||
|
source /root/emsdk_${EMSCRIPTEN_MONO}/emsdk_env.sh
|
||||||
|
|
||||||
cp /root/mono-glue/*.cpp modules/mono/glue/
|
cp /root/mono-glue/*.cpp modules/mono/glue/
|
||||||
cp -r /root/mono-glue/GodotSharp/GodotSharp/Generated modules/mono/glue/GodotSharp/GodotSharp/
|
cp -r /root/mono-glue/GodotSharp/GodotSharp/Generated modules/mono/glue/GodotSharp/GodotSharp/
|
||||||
cp -r /root/mono-glue/GodotSharp/GodotSharpEditor/Generated modules/mono/glue/GodotSharp/GodotSharpEditor/
|
cp -r /root/mono-glue/GodotSharp/GodotSharpEditor/Generated modules/mono/glue/GodotSharp/GodotSharpEditor/
|
||||||
|
|||||||
@@ -4,17 +4,12 @@ set -e
|
|||||||
|
|
||||||
# Config
|
# Config
|
||||||
|
|
||||||
export BUILD_NAME=official
|
|
||||||
export SCONS="scons -j${NUM_CORES} verbose=yes warnings=no progress=no"
|
export SCONS="scons -j${NUM_CORES} verbose=yes warnings=no progress=no"
|
||||||
export OPTIONS="debug_symbols=no use_lto=yes"
|
export OPTIONS="production=yes"
|
||||||
export OPTIONS_MONO="module_mono_enabled=yes mono_static=yes"
|
export OPTIONS_MONO="module_mono_enabled=yes mono_static=yes"
|
||||||
|
export MONO_PREFIX_X86_64="/root/mono-installs/desktop-linux-x86_64-release"
|
||||||
|
export MONO_PREFIX_X86="/root/mono-installs/desktop-linux-x86-release"
|
||||||
export TERM=xterm
|
export TERM=xterm
|
||||||
export CC="gcc-8"
|
|
||||||
export CXX="g++-8"
|
|
||||||
|
|
||||||
if [ "$(getconf LONG_BIT)" == "64" ]; then
|
|
||||||
export OPTIONS="${OPTIONS} use_static_cpp=yes"
|
|
||||||
fi
|
|
||||||
|
|
||||||
rm -rf godot
|
rm -rf godot
|
||||||
mkdir godot
|
mkdir godot
|
||||||
@@ -26,15 +21,30 @@ tar xf /root/godot.tar.gz --strip-components=1
|
|||||||
if [ "${CLASSICAL}" == "1" ]; then
|
if [ "${CLASSICAL}" == "1" ]; then
|
||||||
echo "Starting classical build for Linux..."
|
echo "Starting classical build for Linux..."
|
||||||
|
|
||||||
$SCONS platform=x11 CC=$CC CXX=$CXX $OPTIONS tools=yes target=release_debug
|
export PATH="${GODOT_SDK_LINUX_X86_64}/bin:${BASE_PATH}"
|
||||||
mkdir -p /root/out/tools
|
|
||||||
cp -rvp bin/* /root/out/tools
|
$SCONS platform=x11 $OPTIONS tools=yes target=release_debug
|
||||||
|
mkdir -p /root/out/x64/tools
|
||||||
|
cp -rvp bin/* /root/out/x64/tools
|
||||||
rm -rf bin
|
rm -rf bin
|
||||||
|
|
||||||
$SCONS platform=x11 CC=$CC CXX=$CXX $OPTIONS tools=no target=release_debug
|
$SCONS platform=x11 $OPTIONS tools=no target=release_debug
|
||||||
$SCONS platform=x11 CC=$CC CXX=$CXX $OPTIONS tools=no target=release
|
$SCONS platform=x11 $OPTIONS tools=no target=release
|
||||||
mkdir -p /root/out/templates
|
mkdir -p /root/out/x64/templates
|
||||||
cp -rvp bin/* /root/out/templates
|
cp -rvp bin/* /root/out/x64/templates
|
||||||
|
rm -rf bin
|
||||||
|
|
||||||
|
export PATH="${GODOT_SDK_LINUX_X86}/bin:${BASE_PATH}"
|
||||||
|
|
||||||
|
$SCONS platform=x11 $OPTIONS tools=yes target=release_debug bits=32
|
||||||
|
mkdir -p /root/out/x86/tools
|
||||||
|
cp -rvp bin/* /root/out/x86/tools
|
||||||
|
rm -rf bin
|
||||||
|
|
||||||
|
$SCONS platform=x11 $OPTIONS tools=no target=release_debug bits=32
|
||||||
|
$SCONS platform=x11 $OPTIONS tools=no target=release bits=32
|
||||||
|
mkdir -p /root/out/x86/templates
|
||||||
|
cp -rvp bin/* /root/out/x86/templates
|
||||||
rm -rf bin
|
rm -rf bin
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -46,17 +56,33 @@ if [ "${MONO}" == "1" ]; then
|
|||||||
cp /root/mono-glue/*.cpp modules/mono/glue/
|
cp /root/mono-glue/*.cpp modules/mono/glue/
|
||||||
cp -r /root/mono-glue/GodotSharp/GodotSharp/Generated modules/mono/glue/GodotSharp/GodotSharp/
|
cp -r /root/mono-glue/GodotSharp/GodotSharp/Generated modules/mono/glue/GodotSharp/GodotSharp/
|
||||||
cp -r /root/mono-glue/GodotSharp/GodotSharpEditor/Generated modules/mono/glue/GodotSharp/GodotSharpEditor/
|
cp -r /root/mono-glue/GodotSharp/GodotSharpEditor/Generated modules/mono/glue/GodotSharp/GodotSharpEditor/
|
||||||
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lib/pkgconfig/
|
|
||||||
|
|
||||||
$SCONS platform=x11 CC=$CC CXX=$CXX $OPTIONS $OPTIONS_MONO tools=yes target=release_debug copy_mono_root=yes
|
export PATH="${GODOT_SDK_LINUX_X86_64}/bin:${BASE_PATH}"
|
||||||
mkdir -p /root/out/tools-mono
|
export OPTIONS_MONO_PREFIX="${OPTIONS} ${OPTIONS_MONO} mono_prefix=${MONO_PREFIX_X86_64}"
|
||||||
cp -rvp bin/* /root/out/tools-mono
|
|
||||||
|
$SCONS platform=x11 $OPTIONS_MONO_PREFIX tools=yes target=release_debug copy_mono_root=yes
|
||||||
|
mkdir -p /root/out/x64/tools-mono
|
||||||
|
cp -rvp bin/* /root/out/x64/tools-mono
|
||||||
rm -rf bin
|
rm -rf bin
|
||||||
|
|
||||||
$SCONS platform=x11 CC=$CC CXX=$CXX $OPTIONS $OPTIONS_MONO tools=no target=release_debug
|
$SCONS platform=x11 $OPTIONS_MONO_PREFIX tools=no target=release_debug
|
||||||
$SCONS platform=x11 CC=$CC CXX=$CXX $OPTIONS $OPTIONS_MONO tools=no target=release
|
$SCONS platform=x11 $OPTIONS_MONO_PREFIX tools=no target=release
|
||||||
mkdir -p /root/out/templates-mono
|
mkdir -p /root/out/x64/templates-mono
|
||||||
cp -rvp bin/* /root/out/templates-mono
|
cp -rvp bin/* /root/out/x64/templates-mono
|
||||||
|
rm -rf bin
|
||||||
|
|
||||||
|
export PATH="${GODOT_SDK_LINUX_X86}/bin:${BASE_PATH}"
|
||||||
|
export OPTIONS_MONO_PREFIX="${OPTIONS} ${OPTIONS_MONO} mono_prefix=${MONO_PREFIX_X86}"
|
||||||
|
|
||||||
|
$SCONS platform=x11 $OPTIONS_MONO_PREFIX tools=yes target=release_debug copy_mono_root=yes bits=32
|
||||||
|
mkdir -p /root/out/x86/tools-mono
|
||||||
|
cp -rvp bin/* /root/out/x86/tools-mono
|
||||||
|
rm -rf bin
|
||||||
|
|
||||||
|
$SCONS platform=x11 $OPTIONS_MONO_PREFIX tools=no target=release_debug bits=32
|
||||||
|
$SCONS platform=x11 $OPTIONS_MONO_PREFIX tools=no target=release bits=32
|
||||||
|
mkdir -p /root/out/x86/templates-mono
|
||||||
|
cp -rvp bin/* /root/out/x86/templates-mono
|
||||||
rm -rf bin
|
rm -rf bin
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -4,10 +4,12 @@ set -e
|
|||||||
|
|
||||||
# Config
|
# Config
|
||||||
|
|
||||||
export BUILD_NAME=official
|
|
||||||
export SCONS="scons -j${NUM_CORES} verbose=yes warnings=no progress=no"
|
export SCONS="scons -j${NUM_CORES} verbose=yes warnings=no progress=no"
|
||||||
export OPTIONS="osxcross_sdk=darwin18 debug_symbols=no"
|
export OPTIONS="osxcross_sdk=darwin21.4 production=yes"
|
||||||
export OPTIONS_MONO="module_mono_enabled=yes mono_static=yes mono_prefix=/root/dependencies/mono"
|
export OPTIONS_MONO="module_mono_enabled=yes mono_static=yes"
|
||||||
|
export MONO_PREFIX_X86_64="/root/mono-installs/desktop-osx-x86_64-release"
|
||||||
|
export MONO_PREFIX_ARM64="/root/mono-installs/desktop-osx-arm64-release"
|
||||||
|
export STRIP="x86_64-apple-darwin21.4-strip -u -r"
|
||||||
export TERM=xterm
|
export TERM=xterm
|
||||||
|
|
||||||
rm -rf godot
|
rm -rf godot
|
||||||
@@ -20,14 +22,23 @@ tar xf /root/godot.tar.gz --strip-components=1
|
|||||||
if [ "${CLASSICAL}" == "1" ]; then
|
if [ "${CLASSICAL}" == "1" ]; then
|
||||||
echo "Starting classical build for macOS..."
|
echo "Starting classical build for macOS..."
|
||||||
|
|
||||||
$SCONS platform=osx $OPTIONS tools=yes target=release_debug
|
$SCONS platform=osx $OPTIONS arch=x86_64 tools=yes target=release_debug
|
||||||
|
$SCONS platform=osx $OPTIONS arch=arm64 tools=yes target=release_debug
|
||||||
|
lipo -create bin/godot.osx.opt.tools.x86_64 bin/godot.osx.opt.tools.arm64 -output bin/godot.osx.opt.tools.universal
|
||||||
|
$STRIP bin/godot.osx.opt.tools.universal
|
||||||
|
|
||||||
mkdir -p /root/out/tools
|
mkdir -p /root/out/tools
|
||||||
cp -rvp bin/* /root/out/tools
|
cp -rvp bin/* /root/out/tools
|
||||||
rm -rf bin
|
rm -rf bin
|
||||||
|
|
||||||
$SCONS platform=osx $OPTIONS tools=no target=release_debug
|
$SCONS platform=osx $OPTIONS arch=x86_64 tools=no target=release_debug
|
||||||
$SCONS platform=osx $OPTIONS tools=no target=release
|
$SCONS platform=osx $OPTIONS arch=arm64 tools=no target=release_debug
|
||||||
|
lipo -create bin/godot.osx.opt.debug.x86_64 bin/godot.osx.opt.debug.arm64 -output bin/godot.osx.opt.debug.universal
|
||||||
|
$STRIP bin/godot.osx.opt.debug.universal
|
||||||
|
$SCONS platform=osx $OPTIONS arch=x86_64 tools=no target=release
|
||||||
|
$SCONS platform=osx $OPTIONS arch=arm64 tools=no target=release
|
||||||
|
lipo -create bin/godot.osx.opt.x86_64 bin/godot.osx.opt.arm64 -output bin/godot.osx.opt.universal
|
||||||
|
$STRIP bin/godot.osx.opt.universal
|
||||||
|
|
||||||
mkdir -p /root/out/templates
|
mkdir -p /root/out/templates
|
||||||
cp -rvp bin/* /root/out/templates
|
cp -rvp bin/* /root/out/templates
|
||||||
@@ -43,14 +54,42 @@ if [ "${MONO}" == "1" ]; then
|
|||||||
cp -r /root/mono-glue/GodotSharp/GodotSharp/Generated modules/mono/glue/GodotSharp/GodotSharp/
|
cp -r /root/mono-glue/GodotSharp/GodotSharp/Generated modules/mono/glue/GodotSharp/GodotSharp/
|
||||||
cp -r /root/mono-glue/GodotSharp/GodotSharpEditor/Generated modules/mono/glue/GodotSharp/GodotSharpEditor/
|
cp -r /root/mono-glue/GodotSharp/GodotSharpEditor/Generated modules/mono/glue/GodotSharp/GodotSharpEditor/
|
||||||
|
|
||||||
$SCONS platform=osx $OPTIONS $OPTIONS_MONO tools=yes target=release_debug copy_mono_root=yes
|
# Note: A bit of dylib wrangling involved as x86_64 and arm64 builds both generate GodotSharp
|
||||||
|
# so the second build overrides the first, but we need to lipo the libs to make them universal.
|
||||||
|
# We also need to ensure that /etc/mono/config has the proper filenames (keep arm64 as the last
|
||||||
|
# build so that we rely on its config, which has libmono-native.dylib instead of
|
||||||
|
# libmono-native-compat.dylib).
|
||||||
|
mkdir -p tmp-lib/{x86_64,arm64}
|
||||||
|
|
||||||
|
$SCONS platform=osx $OPTIONS $OPTIONS_MONO mono_prefix=$MONO_PREFIX_X86_64 arch=x86_64 tools=yes target=release_debug copy_mono_root=yes
|
||||||
|
cp bin/GodotSharp/Mono/lib/*.dylib tmp-lib/x86_64/
|
||||||
|
$SCONS platform=osx $OPTIONS $OPTIONS_MONO mono_prefix=$MONO_PREFIX_ARM64 arch=arm64 tools=yes target=release_debug copy_mono_root=yes
|
||||||
|
cp bin/GodotSharp/Mono/lib/*.dylib tmp-lib/arm64/
|
||||||
|
lipo -create bin/godot.osx.opt.tools.x86_64.mono bin/godot.osx.opt.tools.arm64.mono -output bin/godot.osx.opt.tools.universal.mono
|
||||||
|
$STRIP bin/godot.osx.opt.tools.universal.mono
|
||||||
|
|
||||||
|
# Make universal versions of the dylibs we use.
|
||||||
|
lipo -create tmp-lib/x86_64/libmono-native-compat.dylib tmp-lib/arm64/libmono-native.dylib -output tmp-lib/libmono-native.dylib
|
||||||
|
lipo -create tmp-lib/x86_64/libMonoPosixHelper.dylib tmp-lib/arm64/libMonoPosixHelper.dylib -output tmp-lib/libMonoPosixHelper.dylib
|
||||||
|
lipo -create tmp-lib/x86_64/libmono-btls-shared.dylib tmp-lib/arm64/libmono-btls-shared.dylib -output tmp-lib/libmono-btls-shared.dylib
|
||||||
|
|
||||||
|
cp -f tmp-lib/*.dylib bin/GodotSharp/Mono/lib/
|
||||||
|
|
||||||
mkdir -p /root/out/tools-mono
|
mkdir -p /root/out/tools-mono
|
||||||
cp -rvp bin/* /root/out/tools-mono
|
cp -rvp bin/* /root/out/tools-mono
|
||||||
rm -rf bin
|
rm -rf bin
|
||||||
|
|
||||||
$SCONS platform=osx $OPTIONS $OPTIONS_MONO tools=no target=release_debug
|
$SCONS platform=osx $OPTIONS $OPTIONS_MONO mono_prefix=$MONO_PREFIX_X86_64 arch=x86_64 tools=no target=release_debug
|
||||||
$SCONS platform=osx $OPTIONS $OPTIONS_MONO tools=no target=release
|
$SCONS platform=osx $OPTIONS $OPTIONS_MONO mono_prefix=$MONO_PREFIX_ARM64 arch=arm64 tools=no target=release_debug
|
||||||
|
lipo -create bin/godot.osx.opt.debug.x86_64.mono bin/godot.osx.opt.debug.arm64.mono -output bin/godot.osx.opt.debug.universal.mono
|
||||||
|
$STRIP bin/godot.osx.opt.debug.universal.mono
|
||||||
|
$SCONS platform=osx $OPTIONS $OPTIONS_MONO mono_prefix=$MONO_PREFIX_X86_64 arch=x86_64 tools=no target=release
|
||||||
|
$SCONS platform=osx $OPTIONS $OPTIONS_MONO mono_prefix=$MONO_PREFIX_ARM64 arch=arm64 tools=no target=release
|
||||||
|
lipo -create bin/godot.osx.opt.x86_64.mono bin/godot.osx.opt.arm64.mono -output bin/godot.osx.opt.universal.mono
|
||||||
|
$STRIP bin/godot.osx.opt.universal.mono
|
||||||
|
|
||||||
|
cp -f tmp-lib/*.dylib bin/data.mono.osx.64.release/Mono/lib/
|
||||||
|
cp -f tmp-lib/*.dylib bin/data.mono.osx.64.release_debug/Mono/lib/
|
||||||
|
|
||||||
mkdir -p /root/out/templates-mono
|
mkdir -p /root/out/templates-mono
|
||||||
cp -rvp bin/* /root/out/templates-mono
|
cp -rvp bin/* /root/out/templates-mono
|
||||||
|
|||||||
@@ -4,10 +4,10 @@ set -e
|
|||||||
|
|
||||||
# Config
|
# Config
|
||||||
|
|
||||||
export BUILD_NAME=official
|
|
||||||
export SCONS="scons -j${NUM_CORES} verbose=yes warnings=no progress=no"
|
export SCONS="scons -j${NUM_CORES} verbose=yes warnings=no progress=no"
|
||||||
export OPTIONS="debug_symbols=no"
|
export OPTIONS="debug_symbols=no use_static_cpp=no"
|
||||||
export TERM=xterm
|
export TERM=xterm
|
||||||
|
export DISPLAY=:0
|
||||||
|
|
||||||
rm -rf godot
|
rm -rf godot
|
||||||
mkdir godot
|
mkdir godot
|
||||||
@@ -25,7 +25,7 @@ if [ "${MONO}" == "1" ]; then
|
|||||||
${SCONS} platform=x11 bits=64 ${OPTIONS} target=release_debug tools=yes module_mono_enabled=yes mono_glue=no
|
${SCONS} platform=x11 bits=64 ${OPTIONS} target=release_debug tools=yes module_mono_enabled=yes mono_glue=no
|
||||||
|
|
||||||
rm -rf /root/mono-glue/*
|
rm -rf /root/mono-glue/*
|
||||||
xvfb-run bin/godot.x11.opt.tools.64.mono --generate-mono-glue /root/mono-glue || /bin/true
|
xvfb-run bin/godot.x11.opt.tools.64.mono --audio-driver Dummy --generate-mono-glue /root/mono-glue || /bin/true
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Mono glue generated successfully"
|
echo "Mono glue generated successfully"
|
||||||
|
|||||||
287
build-release.sh
287
build-release.sh
@@ -7,31 +7,103 @@ set -e
|
|||||||
# For signing keystore and password.
|
# For signing keystore and password.
|
||||||
source ./config.sh
|
source ./config.sh
|
||||||
|
|
||||||
can_sign=0
|
can_sign_windows=0
|
||||||
if [ ! -z "${SIGN_KEYSTORE}" ] && [ ! -z "${SIGN_PASSWORD}" ]; then
|
if [ ! -z "${SIGN_KEYSTORE}" ] && [ ! -z "${SIGN_PASSWORD}" ] && [[ $(type -P "osslsigncode") ]]; then
|
||||||
can_sign=1
|
can_sign_windows=1
|
||||||
else
|
else
|
||||||
echo "Disabling binary signing as config.sh does not define the required data."
|
echo "Disabling Windows binary signing as config.sh does not define the required data (SIGN_KEYSTORE, SIGN_PASSWORD), or osslsigncode can't be found in PATH."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
function sign {
|
sign_windows() {
|
||||||
if [ $can_sign == 0 ]; then
|
if [ $can_sign_windows == 0 ]; then
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
./osslsigncode -pkcs12 ${SIGN_KEYSTORE} -pass "${SIGN_PASSWORD}" -n "${SIGN_NAME}" -i "${SIGN_URL}" -t http://timestamp.comodoca.com -in $1 -out $1-signed
|
osslsigncode sign -pkcs12 ${SIGN_KEYSTORE} -pass "${SIGN_PASSWORD}" -n "${SIGN_NAME}" -i "${SIGN_URL}" -t http://timestamp.comodoca.com -in $1 -out $1-signed
|
||||||
mv $1-signed $1
|
mv $1-signed $1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sign_macos() {
|
||||||
|
if [ -z "${OSX_HOST}" ]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
_osx_tmpdir=$(ssh "${OSX_HOST}" "mktemp -d")
|
||||||
|
_reldir="$1"
|
||||||
|
_binname="$2"
|
||||||
|
_is_mono="$3"
|
||||||
|
|
||||||
|
if [[ "${_is_mono}" == "1" ]]; then
|
||||||
|
_appname="Godot_mono.app"
|
||||||
|
_sharpdir="${_appname}/Contents/Resources/GodotSharp"
|
||||||
|
_extra_files="${_sharpdir}/Mono/lib/*.dylib ${_sharpdir}/Tools/aot-compilers/*/*"
|
||||||
|
else
|
||||||
|
_appname="Godot.app"
|
||||||
|
fi
|
||||||
|
|
||||||
|
scp "${_reldir}/${_binname}.zip" "${OSX_HOST}:${_osx_tmpdir}"
|
||||||
|
scp "${basedir}/git/misc/dist/osx/editor.entitlements" "${OSX_HOST}:${_osx_tmpdir}"
|
||||||
|
ssh "${OSX_HOST}" "
|
||||||
|
cd ${_osx_tmpdir} && \
|
||||||
|
unzip ${_binname}.zip && \
|
||||||
|
codesign --force --timestamp \
|
||||||
|
--options=runtime --entitlements editor.entitlements \
|
||||||
|
-s ${OSX_KEY_ID} -v ${_extra_files} ${_appname} && \
|
||||||
|
zip -r ${_binname}_signed.zip ${_appname}"
|
||||||
|
|
||||||
|
_request_uuid=$(ssh "${OSX_HOST}" "xcrun notarytool submit ${_osx_tmpdir}/${_binname}_signed.zip --team-id \"${APPLE_TEAM}\" --apple-id \"${APPLE_ID}\" --password \"${APPLE_ID_PASSWORD}\" --no-progress --output-format json")
|
||||||
|
_request_uuid=$(echo ${_request_uuid} | sed -e 's/.*"id":"\([^"]*\)".*/\1/')
|
||||||
|
if ! ssh "${OSX_HOST}" "xcrun notarytool wait ${_request_uuid} --team-id \"${APPLE_TEAM}\" --apple-id \"${APPLE_ID}\" --password \"${APPLE_ID_PASSWORD}\" | grep -q status:\ Accepted"; then
|
||||||
|
echo "Notarization failed."
|
||||||
|
_notarization_log=$(ssh "${OSX_HOST}" "xcrun notarytool log ${_request_uuid} --team-id \"${APPLE_TEAM}\" --apple-id \"${APPLE_ID}\" --password \"${APPLE_ID_PASSWORD}\"")
|
||||||
|
echo "${_notarization_log}"
|
||||||
|
ssh "${OSX_HOST}" "rm -rf ${_osx_tmpdir}"
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
ssh "${OSX_HOST}" "
|
||||||
|
cd ${_osx_tmpdir} && \
|
||||||
|
xcrun stapler staple ${_appname} && \
|
||||||
|
zip -r ${_binname}_stapled.zip ${_appname}"
|
||||||
|
scp "${OSX_HOST}:${_osx_tmpdir}/${_binname}_stapled.zip" "${_reldir}/${_binname}.zip"
|
||||||
|
ssh "${OSX_HOST}" "rm -rf ${_osx_tmpdir}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
sign_macos_template() {
|
||||||
|
if [ -z "${OSX_HOST}" ]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
_osx_tmpdir=$(ssh "${OSX_HOST}" "mktemp -d")
|
||||||
|
_reldir="$1"
|
||||||
|
_is_mono="$2"
|
||||||
|
|
||||||
|
if [[ "${_is_mono}" == "1" ]]; then
|
||||||
|
_extra_files="osx_template.app/Contents/Resources/data.mono.*/Mono/lib/*.dylib"
|
||||||
|
fi
|
||||||
|
|
||||||
|
scp "${_reldir}/osx.zip" "${OSX_HOST}:${_osx_tmpdir}"
|
||||||
|
ssh "${OSX_HOST}" "
|
||||||
|
cd ${_osx_tmpdir} && \
|
||||||
|
unzip osx.zip && \
|
||||||
|
codesign --force -s - \
|
||||||
|
--options=linker-signed \
|
||||||
|
-v ${_extra_files} osx_template.app/Contents/MacOS/* && \
|
||||||
|
zip -r osx_signed.zip osx_template.app"
|
||||||
|
|
||||||
|
scp "${OSX_HOST}:${_osx_tmpdir}/osx_signed.zip" "${_reldir}/osx.zip"
|
||||||
|
ssh "${OSX_HOST}" "rm -rf ${_osx_tmpdir}"
|
||||||
|
}
|
||||||
|
|
||||||
godot_version=""
|
godot_version=""
|
||||||
|
templates_version=""
|
||||||
build_classical=1
|
build_classical=1
|
||||||
build_mono=1
|
build_mono=1
|
||||||
|
|
||||||
while getopts "h?v:b:" opt; do
|
while getopts "h?v:t:b:" opt; do
|
||||||
case "$opt" in
|
case "$opt" in
|
||||||
h|\?)
|
h|\?)
|
||||||
echo "Usage: $0 [OPTIONS...]"
|
echo "Usage: $0 [OPTIONS...]"
|
||||||
echo
|
echo
|
||||||
echo " -v godot version (e.g: 3.1-alpha5) [mandatory]"
|
echo " -v godot version (e.g: 3.2-stable) [mandatory]"
|
||||||
|
echo " -t templates version (e.g. 3.2.stable) [mandatory]"
|
||||||
echo " -b all|classical|mono (default: all)"
|
echo " -b all|classical|mono (default: all)"
|
||||||
echo
|
echo
|
||||||
exit 1
|
exit 1
|
||||||
@@ -39,6 +111,9 @@ while getopts "h?v:b:" opt; do
|
|||||||
v)
|
v)
|
||||||
godot_version=$OPTARG
|
godot_version=$OPTARG
|
||||||
;;
|
;;
|
||||||
|
t)
|
||||||
|
templates_version=$OPTARG
|
||||||
|
;;
|
||||||
b)
|
b)
|
||||||
if [ "$OPTARG" == "classical" ]; then
|
if [ "$OPTARG" == "classical" ]; then
|
||||||
build_mono=0
|
build_mono=0
|
||||||
@@ -49,7 +124,16 @@ while getopts "h?v:b:" opt; do
|
|||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
|
if [ -z "${godot_version}" -o -z "${templates_version}" ]; then
|
||||||
|
echo "Mandatory argument -v or -t missing."
|
||||||
|
exit 1
|
||||||
|
elif [[ "{$templates_version}" == *"-"* ]]; then
|
||||||
|
echo "Templates version (-t) shouldn't contain '-'. It should use a dot to separate version from status."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
export basedir=$(pwd)
|
export basedir=$(pwd)
|
||||||
|
export webdir="${basedir}/web/${templates_version}"
|
||||||
export reldir="${basedir}/releases/${godot_version}"
|
export reldir="${basedir}/releases/${godot_version}"
|
||||||
export reldir_mono="${reldir}/mono"
|
export reldir_mono="${reldir}/mono"
|
||||||
export tmpdir="${basedir}/tmp"
|
export tmpdir="${basedir}/tmp"
|
||||||
@@ -60,9 +144,11 @@ export godot_basename="Godot_v${godot_version}"
|
|||||||
|
|
||||||
# Cleanup and setup
|
# Cleanup and setup
|
||||||
|
|
||||||
|
rm -rf ${webdir}
|
||||||
rm -rf ${reldir}
|
rm -rf ${reldir}
|
||||||
rm -rf ${tmpdir}
|
rm -rf ${tmpdir}
|
||||||
|
|
||||||
|
mkdir -p ${webdir}
|
||||||
mkdir -p ${reldir}
|
mkdir -p ${reldir}
|
||||||
mkdir -p ${reldir_mono}
|
mkdir -p ${reldir_mono}
|
||||||
mkdir -p ${templatesdir}
|
mkdir -p ${templatesdir}
|
||||||
@@ -70,7 +156,7 @@ mkdir -p ${templatesdir_mono}
|
|||||||
|
|
||||||
# Tarball
|
# Tarball
|
||||||
|
|
||||||
zcat godot.tar.gz | xz -c > ${reldir}/godot-${godot_version}.tar.xz
|
zcat godot-${godot_version}.tar.gz | xz -c > ${reldir}/godot-${godot_version}.tar.xz
|
||||||
pushd ${reldir}
|
pushd ${reldir}
|
||||||
sha256sum godot-${godot_version}.tar.xz > godot-${godot_version}.tar.xz.sha256
|
sha256sum godot-${godot_version}.tar.xz > godot-${godot_version}.tar.xz.sha256
|
||||||
popd
|
popd
|
||||||
@@ -84,11 +170,13 @@ if [ "${build_classical}" == "1" ]; then
|
|||||||
# Editor
|
# Editor
|
||||||
binname="${godot_basename}_x11.64"
|
binname="${godot_basename}_x11.64"
|
||||||
cp out/linux/x64/tools/godot.x11.opt.tools.64 ${binname}
|
cp out/linux/x64/tools/godot.x11.opt.tools.64 ${binname}
|
||||||
|
strip ${binname}
|
||||||
zip -q -9 "${reldir}/${binname}.zip" ${binname}
|
zip -q -9 "${reldir}/${binname}.zip" ${binname}
|
||||||
rm ${binname}
|
rm ${binname}
|
||||||
|
|
||||||
binname="${godot_basename}_x11.32"
|
binname="${godot_basename}_x11.32"
|
||||||
cp out/linux/x86/tools/godot.x11.opt.tools.32 ${binname}
|
cp out/linux/x86/tools/godot.x11.opt.tools.32 ${binname}
|
||||||
|
strip ${binname}
|
||||||
zip -q -9 "${reldir}/${binname}.zip" ${binname}
|
zip -q -9 "${reldir}/${binname}.zip" ${binname}
|
||||||
rm ${binname}
|
rm ${binname}
|
||||||
|
|
||||||
@@ -97,77 +185,108 @@ if [ "${build_classical}" == "1" ]; then
|
|||||||
cp out/linux/x64/templates/godot.x11.opt.debug.64 ${templatesdir}/linux_x11_64_debug
|
cp out/linux/x64/templates/godot.x11.opt.debug.64 ${templatesdir}/linux_x11_64_debug
|
||||||
cp out/linux/x86/templates/godot.x11.opt.32 ${templatesdir}/linux_x11_32_release
|
cp out/linux/x86/templates/godot.x11.opt.32 ${templatesdir}/linux_x11_32_release
|
||||||
cp out/linux/x86/templates/godot.x11.opt.debug.32 ${templatesdir}/linux_x11_32_debug
|
cp out/linux/x86/templates/godot.x11.opt.debug.32 ${templatesdir}/linux_x11_32_debug
|
||||||
|
strip ${templatesdir}/linux_x11_*
|
||||||
|
|
||||||
## Windows (Classical) ##
|
## Windows (Classical) ##
|
||||||
|
|
||||||
# Editor
|
# Editor
|
||||||
binname="${godot_basename}_win64.exe"
|
binname="${godot_basename}_win64.exe"
|
||||||
|
batname="${godot_basename}_win64_console.cmd"
|
||||||
cp out/windows/x64/tools/godot.windows.opt.tools.64.exe ${binname}
|
cp out/windows/x64/tools/godot.windows.opt.tools.64.exe ${binname}
|
||||||
strip ${binname}
|
strip ${binname}
|
||||||
sign ${binname}
|
sign_windows ${binname}
|
||||||
zip -q -9 "${reldir}/${binname}.zip" ${binname}
|
echo "@echo off" > ${batname}
|
||||||
rm ${binname}
|
echo ${binname} >> ${batname}
|
||||||
|
echo "pause > nul" >> ${batname}
|
||||||
|
zip -q -9 "${reldir}/${binname}.zip" ${binname} ${batname}
|
||||||
|
rm ${binname} ${batname}
|
||||||
|
|
||||||
binname="${godot_basename}_win32.exe"
|
binname="${godot_basename}_win32.exe"
|
||||||
|
batname="${godot_basename}_win32_console.cmd"
|
||||||
cp out/windows/x86/tools/godot.windows.opt.tools.32.exe ${binname}
|
cp out/windows/x86/tools/godot.windows.opt.tools.32.exe ${binname}
|
||||||
strip ${binname}
|
strip ${binname}
|
||||||
sign ${binname}
|
sign_windows ${binname}
|
||||||
zip -q -9 "${reldir}/${binname}.zip" ${binname}
|
echo "@echo off" > ${batname}
|
||||||
rm ${binname}
|
echo ${binname} >> ${batname}
|
||||||
|
echo "pause > nul" >> ${batname}
|
||||||
|
zip -q -9 "${reldir}/${binname}.zip" ${binname} ${batname}
|
||||||
|
rm ${binname} ${batname}
|
||||||
|
|
||||||
# Templates
|
# Templates
|
||||||
cp out/windows/x64/templates/godot.windows.opt.64.exe ${templatesdir}/windows_64_release.exe
|
cp out/windows/x64/templates/godot.windows.opt.64.exe ${templatesdir}/windows_64_release.exe
|
||||||
cp out/windows/x64/templates/godot.windows.opt.debug.64.exe ${templatesdir}/windows_64_debug.exe
|
cp out/windows/x64/templates/godot.windows.opt.debug.64.exe ${templatesdir}/windows_64_debug.exe
|
||||||
cp out/windows/x86/templates/godot.windows.opt.32.exe ${templatesdir}/windows_32_release.exe
|
cp out/windows/x86/templates/godot.windows.opt.32.exe ${templatesdir}/windows_32_release.exe
|
||||||
cp out/windows/x86/templates/godot.windows.opt.debug.32.exe ${templatesdir}/windows_32_debug.exe
|
cp out/windows/x86/templates/godot.windows.opt.debug.32.exe ${templatesdir}/windows_32_debug.exe
|
||||||
|
|
||||||
strip ${templatesdir}/windows*.exe
|
strip ${templatesdir}/windows*.exe
|
||||||
|
|
||||||
## OSX (Classical) ##
|
## OSX (Classical) ##
|
||||||
|
|
||||||
# Editor
|
# Editor
|
||||||
binname="${godot_basename}_osx.64"
|
binname="${godot_basename}_osx.universal"
|
||||||
rm -rf Godot.app
|
rm -rf Godot.app
|
||||||
cp -r git/misc/dist/osx_tools.app Godot.app
|
cp -r git/misc/dist/osx_tools.app Godot.app
|
||||||
mkdir -p Godot.app/Contents/MacOS
|
mkdir -p Godot.app/Contents/MacOS
|
||||||
cp out/macosx/x64/tools/godot.osx.opt.tools.64 Godot.app/Contents/MacOS/Godot
|
cp out/macosx/tools/godot.osx.opt.tools.universal Godot.app/Contents/MacOS/Godot
|
||||||
chmod +x Godot.app/Contents/MacOS/Godot
|
chmod +x Godot.app/Contents/MacOS/Godot
|
||||||
zip -q -9 -r "${reldir}/${binname}.zip" Godot.app
|
zip -q -9 -r "${reldir}/${binname}.zip" Godot.app
|
||||||
rm -rf Godot.app
|
rm -rf Godot.app
|
||||||
|
sign_macos ${reldir} ${binname} 0
|
||||||
|
|
||||||
# Templates
|
# Templates
|
||||||
rm -rf osx_template.app
|
rm -rf osx_template.app
|
||||||
cp -r git/misc/dist/osx_template.app .
|
cp -r git/misc/dist/osx_template.app .
|
||||||
mkdir -p osx_template.app/Contents/MacOS
|
mkdir -p osx_template.app/Contents/MacOS
|
||||||
|
|
||||||
cp out/macosx/x64/templates/godot.osx.opt.64 osx_template.app/Contents/MacOS/godot_osx_release.64
|
cp out/macosx/templates/godot.osx.opt.universal osx_template.app/Contents/MacOS/godot_osx_release.64
|
||||||
cp out/macosx/x64/templates/godot.osx.opt.debug.64 osx_template.app/Contents/MacOS/godot_osx_debug.64
|
cp out/macosx/templates/godot.osx.opt.debug.universal osx_template.app/Contents/MacOS/godot_osx_debug.64
|
||||||
chmod +x osx_template.app/Contents/MacOS/godot_osx*
|
chmod +x osx_template.app/Contents/MacOS/godot_osx*
|
||||||
zip -q -9 -r "${templatesdir}/osx.zip" osx_template.app
|
zip -q -9 -r "${templatesdir}/osx.zip" osx_template.app
|
||||||
rm -rf osx_template.app
|
rm -rf osx_template.app
|
||||||
|
sign_macos_template ${templatesdir} 0
|
||||||
|
|
||||||
## Server (Classical) ##
|
## Server (Classical) ##
|
||||||
|
|
||||||
# Headless (editor)
|
# Headless (editor)
|
||||||
binname="${godot_basename}_linux_headless.64"
|
binname="${godot_basename}_linux_headless.64"
|
||||||
cp out/server/x64/tools/godot_server.x11.opt.tools.64 ${binname}
|
cp out/server/x64/tools/godot_server.x11.opt.tools.64 ${binname}
|
||||||
|
strip ${binname}
|
||||||
zip -q -9 "${reldir}/${binname}.zip" ${binname}
|
zip -q -9 "${reldir}/${binname}.zip" ${binname}
|
||||||
rm ${binname}
|
rm ${binname}
|
||||||
|
|
||||||
# Server (template)
|
# Server (template)
|
||||||
binname="${godot_basename}_linux_server.64"
|
binname="${godot_basename}_linux_server.64"
|
||||||
cp out/server/x64/templates/godot_server.x11.opt.64 ${binname}
|
cp out/server/x64/templates/godot_server.x11.opt.64 ${binname}
|
||||||
|
strip ${binname}
|
||||||
zip -q -9 "${reldir}/${binname}.zip" ${binname}
|
zip -q -9 "${reldir}/${binname}.zip" ${binname}
|
||||||
rm ${binname}
|
rm ${binname}
|
||||||
|
|
||||||
## Javascript (Classical) ##
|
## Javascript (Classical) ##
|
||||||
|
|
||||||
|
# Editor
|
||||||
|
unzip out/javascript/tools/godot.javascript.opt.tools.threads.zip -d ${webdir}/
|
||||||
|
brotli --keep --force --quality=11 ${webdir}/*
|
||||||
|
binname="${godot_basename}_web_editor.zip"
|
||||||
|
cp out/javascript/tools/godot.javascript.opt.tools.threads.zip ${reldir}/${binname}
|
||||||
|
|
||||||
# Templates
|
# Templates
|
||||||
cp out/javascript/templates/godot.javascript.opt.zip ${templatesdir}/webassembly_release.zip
|
cp out/javascript/templates/godot.javascript.opt.zip ${templatesdir}/webassembly_release.zip
|
||||||
cp out/javascript/templates/godot.javascript.opt.debug.zip ${templatesdir}/webassembly_debug.zip
|
cp out/javascript/templates/godot.javascript.opt.debug.zip ${templatesdir}/webassembly_debug.zip
|
||||||
|
|
||||||
|
cp out/javascript/templates/godot.javascript.opt.threads.zip ${templatesdir}/webassembly_threads_release.zip
|
||||||
|
cp out/javascript/templates/godot.javascript.opt.debug.threads.zip ${templatesdir}/webassembly_threads_debug.zip
|
||||||
|
|
||||||
|
cp out/javascript/templates/godot.javascript.opt.gdnative.zip ${templatesdir}/webassembly_gdnative_release.zip
|
||||||
|
cp out/javascript/templates/godot.javascript.opt.debug.gdnative.zip ${templatesdir}/webassembly_gdnative_debug.zip
|
||||||
|
|
||||||
## Android (Classical) ##
|
## Android (Classical) ##
|
||||||
|
|
||||||
|
# Lib for direct download
|
||||||
|
cp out/android/templates/godot-lib.release.aar ${reldir}/godot-lib.${templates_version}.release.aar
|
||||||
|
|
||||||
|
# Editor
|
||||||
|
binname="${godot_basename}_android_editor.apk"
|
||||||
|
cp out/android/tools/android_editor.apk ${reldir}/${binname}
|
||||||
|
|
||||||
# Templates
|
# Templates
|
||||||
cp out/android/templates/*.apk ${templatesdir}/
|
cp out/android/templates/*.apk ${templatesdir}/
|
||||||
cp out/android/templates/android_source.zip ${templatesdir}/
|
cp out/android/templates/android_source.zip ${templatesdir}/
|
||||||
@@ -176,11 +295,10 @@ if [ "${build_classical}" == "1" ]; then
|
|||||||
|
|
||||||
rm -rf ios_xcode
|
rm -rf ios_xcode
|
||||||
cp -r git/misc/dist/ios_xcode ios_xcode
|
cp -r git/misc/dist/ios_xcode ios_xcode
|
||||||
for suffix in "" "_arkit_module" "_camera_module"; do
|
cp out/ios/templates/libgodot.iphone.simulator.a ios_xcode/libgodot.iphone.release.xcframework/ios-arm64_x86_64-simulator/libgodot.a
|
||||||
cp out/ios/libgodot${suffix}.iphone.opt.fat ios_xcode/libgodot${suffix}.iphone.release.fat.a
|
cp out/ios/templates/libgodot.iphone.debug.simulator.a ios_xcode/libgodot.iphone.debug.xcframework/ios-arm64_x86_64-simulator/libgodot.a
|
||||||
cp out/ios/libgodot${suffix}.iphone.opt.debug.fat ios_xcode/libgodot${suffix}.iphone.debug.fat.a
|
cp out/ios/templates/libgodot.iphone.a ios_xcode/libgodot.iphone.release.xcframework/ios-arm64/libgodot.a
|
||||||
done
|
cp out/ios/templates/libgodot.iphone.debug.a ios_xcode/libgodot.iphone.debug.xcframework/ios-arm64/libgodot.a
|
||||||
chmod +x ios_xcode/libgodot*.iphone.*
|
|
||||||
cd ios_xcode
|
cd ios_xcode
|
||||||
zip -q -9 -r "${templatesdir}/iphone.zip" *
|
zip -q -9 -r "${templatesdir}/iphone.zip" *
|
||||||
cd ..
|
cd ..
|
||||||
@@ -188,17 +306,19 @@ if [ "${build_classical}" == "1" ]; then
|
|||||||
|
|
||||||
## UWP (Classical) ##
|
## UWP (Classical) ##
|
||||||
|
|
||||||
if [ ! -d "angle" ]; then
|
if [ ! -d "deps/angle-uwp" ]; then
|
||||||
echo "Downloading ANGLE binaries from https://github.com/GodotBuilder/godot-builds/releases/tag/_tools"
|
echo "Downloading ANGLE binaries from https://github.com/godotengine/godot-build-scripts/releases/tag/_deps/"
|
||||||
curl -LO https://github.com/GodotBuilder/godot-builds/releases/download/_tools/angle.7z
|
mkdir -p deps && cd deps
|
||||||
7z x angle.7z && rm -f angle.7z
|
curl -L -o angle-uwp.7z https://github.com/godotengine/godot-build-scripts/releases/download/_deps/angle-uwp-2.1.13.7z
|
||||||
|
7z x angle-uwp.7z && rm -f angle-uwp.7z
|
||||||
|
cd ..
|
||||||
fi
|
fi
|
||||||
|
|
||||||
rm -rf uwp_template_*
|
rm -rf uwp_template_*
|
||||||
for arch in ARM Win32 x64; do
|
for arch in ARM Win32 x64; do
|
||||||
cp -r git/misc/dist/uwp_template uwp_template_${arch}
|
cp -r git/misc/dist/uwp_template uwp_template_${arch}
|
||||||
cp angle/winrt/10/src/Release_${arch}/libEGL.dll \
|
cp deps/angle-uwp/${arch}/libEGL.dll \
|
||||||
angle/winrt/10/src/Release_${arch}/libGLESv2.dll \
|
deps/angle-uwp/${arch}/libGLESv2.dll \
|
||||||
uwp_template_${arch}/
|
uwp_template_${arch}/
|
||||||
cp -r uwp_template_${arch} uwp_template_${arch}_debug
|
cp -r uwp_template_${arch} uwp_template_${arch}_debug
|
||||||
done
|
done
|
||||||
@@ -221,6 +341,21 @@ if [ "${build_classical}" == "1" ]; then
|
|||||||
cd uwp_template_x64_debug && zip -q -9 -r "${templatesdir}/uwp_x64_debug.zip" * && cd ..
|
cd uwp_template_x64_debug && zip -q -9 -r "${templatesdir}/uwp_x64_debug.zip" * && cd ..
|
||||||
rm -rf uwp_template_x64*
|
rm -rf uwp_template_x64*
|
||||||
|
|
||||||
|
## Templates TPZ (Classical) ##
|
||||||
|
|
||||||
|
echo "${templates_version}" > ${templatesdir}/version.txt
|
||||||
|
pushd ${templatesdir}/..
|
||||||
|
zip -q -9 -r -D "${reldir}/${godot_basename}_export_templates.tpz" templates/*
|
||||||
|
popd
|
||||||
|
|
||||||
|
## SHA-512 sums (Classical) ##
|
||||||
|
|
||||||
|
pushd ${reldir}
|
||||||
|
sha512sum [Gg]* > SHA512-SUMS.txt
|
||||||
|
mkdir -p ${basedir}/sha512sums/${godot_version}
|
||||||
|
cp SHA512-SUMS.txt ${basedir}/sha512sums/${godot_version}/
|
||||||
|
popd
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Mono
|
# Mono
|
||||||
@@ -233,14 +368,18 @@ if [ "${build_mono}" == "1" ]; then
|
|||||||
binbasename="${godot_basename}_mono_x11"
|
binbasename="${godot_basename}_mono_x11"
|
||||||
mkdir -p ${binbasename}_64
|
mkdir -p ${binbasename}_64
|
||||||
cp out/linux/x64/tools-mono/godot.x11.opt.tools.64.mono ${binbasename}_64/${binbasename}.64
|
cp out/linux/x64/tools-mono/godot.x11.opt.tools.64.mono ${binbasename}_64/${binbasename}.64
|
||||||
|
strip ${binbasename}_64/${binbasename}.64
|
||||||
cp -rp out/linux/x64/tools-mono/GodotSharp ${binbasename}_64/
|
cp -rp out/linux/x64/tools-mono/GodotSharp ${binbasename}_64/
|
||||||
|
cp -rp out/aot-compilers ${binbasename}_64/GodotSharp/Tools/
|
||||||
zip -r -q -9 "${reldir_mono}/${binbasename}_64.zip" ${binbasename}_64
|
zip -r -q -9 "${reldir_mono}/${binbasename}_64.zip" ${binbasename}_64
|
||||||
rm -rf ${binbasename}_64
|
rm -rf ${binbasename}_64
|
||||||
|
|
||||||
binbasename="${godot_basename}_mono_x11"
|
binbasename="${godot_basename}_mono_x11"
|
||||||
mkdir -p ${binbasename}_32
|
mkdir -p ${binbasename}_32
|
||||||
cp out/linux/x86/tools-mono/godot.x11.opt.tools.32.mono ${binbasename}_32/${binbasename}.32
|
cp out/linux/x86/tools-mono/godot.x11.opt.tools.32.mono ${binbasename}_32/${binbasename}.32
|
||||||
|
strip ${binbasename}_32/${binbasename}.32
|
||||||
cp -rp out/linux/x86/tools-mono/GodotSharp/ ${binbasename}_32/
|
cp -rp out/linux/x86/tools-mono/GodotSharp/ ${binbasename}_32/
|
||||||
|
cp -rp out/aot-compilers ${binbasename}_32/GodotSharp/Tools/
|
||||||
zip -r -q -9 "${reldir_mono}/${binbasename}_32.zip" ${binbasename}_32
|
zip -r -q -9 "${reldir_mono}/${binbasename}_32.zip" ${binbasename}_32
|
||||||
rm -rf ${binbasename}_32
|
rm -rf ${binbasename}_32
|
||||||
|
|
||||||
@@ -251,6 +390,7 @@ if [ "${build_mono}" == "1" ]; then
|
|||||||
cp -rp out/linux/x86/templates-mono/data.mono.x11.32.* ${templatesdir_mono}/
|
cp -rp out/linux/x86/templates-mono/data.mono.x11.32.* ${templatesdir_mono}/
|
||||||
cp out/linux/x86/templates-mono/godot.x11.opt.debug.32.mono ${templatesdir_mono}/linux_x11_32_debug
|
cp out/linux/x86/templates-mono/godot.x11.opt.debug.32.mono ${templatesdir_mono}/linux_x11_32_debug
|
||||||
cp out/linux/x86/templates-mono/godot.x11.opt.32.mono ${templatesdir_mono}/linux_x11_32_release
|
cp out/linux/x86/templates-mono/godot.x11.opt.32.mono ${templatesdir_mono}/linux_x11_32_release
|
||||||
|
strip ${templatesdir_mono}/linux_x11*
|
||||||
|
|
||||||
mkdir -p ${templatesdir_mono}/bcl
|
mkdir -p ${templatesdir_mono}/bcl
|
||||||
cp -r out/linux/x64/tools-mono/GodotSharp/Mono/lib/mono/4.5/ ${templatesdir_mono}/bcl/net_4_x
|
cp -r out/linux/x64/tools-mono/GodotSharp/Mono/lib/mono/4.5/ ${templatesdir_mono}/bcl/net_4_x
|
||||||
@@ -259,20 +399,32 @@ if [ "${build_mono}" == "1" ]; then
|
|||||||
|
|
||||||
# Editor
|
# Editor
|
||||||
binname="${godot_basename}_mono_win64"
|
binname="${godot_basename}_mono_win64"
|
||||||
|
batname="${godot_basename}_mono_win64_console.cmd"
|
||||||
mkdir -p ${binname}
|
mkdir -p ${binname}
|
||||||
cp out/windows/x64/tools-mono/godot.windows.opt.tools.64.mono.exe ${binname}/${binname}.exe
|
cp out/windows/x64/tools-mono/godot.windows.opt.tools.64.mono.exe ${binname}/${binname}.exe
|
||||||
strip ${binname}/${binname}.exe
|
strip ${binname}/${binname}.exe
|
||||||
sign ${binname}/${binname}.exe
|
sign_windows ${binname}/${binname}.exe
|
||||||
cp -rp out/windows/x64/tools-mono/GodotSharp ${binname}/
|
cp -rp out/windows/x64/tools-mono/GodotSharp ${binname}/
|
||||||
|
cp -rp out/aot-compilers ${binname}/GodotSharp/Tools/
|
||||||
|
echo "@echo off" > ${batname}
|
||||||
|
echo ${binname}.exe >> ${batname}
|
||||||
|
echo "pause > nul" >> ${batname}
|
||||||
|
mv ${batname} ${binname}/
|
||||||
zip -r -q -9 "${reldir_mono}/${binname}.zip" ${binname}
|
zip -r -q -9 "${reldir_mono}/${binname}.zip" ${binname}
|
||||||
rm -rf ${binname}
|
rm -rf ${binname}
|
||||||
|
|
||||||
binname="${godot_basename}_mono_win32"
|
binname="${godot_basename}_mono_win32"
|
||||||
|
batname="${godot_basename}_mono_win32_console.cmd"
|
||||||
mkdir -p ${binname}
|
mkdir -p ${binname}
|
||||||
cp out/windows/x86/tools-mono/godot.windows.opt.tools.32.mono.exe ${binname}/${binname}.exe
|
cp out/windows/x86/tools-mono/godot.windows.opt.tools.32.mono.exe ${binname}/${binname}.exe
|
||||||
strip ${binname}/${binname}.exe
|
strip ${binname}/${binname}.exe
|
||||||
sign ${binname}/${binname}.exe
|
sign_windows ${binname}/${binname}.exe
|
||||||
cp -rp out/windows/x86/tools-mono/GodotSharp ${binname}/
|
cp -rp out/windows/x86/tools-mono/GodotSharp ${binname}/
|
||||||
|
cp -rp out/aot-compilers ${binname}/GodotSharp/Tools/
|
||||||
|
echo "@echo off" > ${batname}
|
||||||
|
echo ${binname}.exe >> ${batname}
|
||||||
|
echo "pause > nul" >> ${batname}
|
||||||
|
mv ${batname} ${binname}/
|
||||||
zip -r -q -9 "${reldir_mono}/${binname}.zip" ${binname}
|
zip -r -q -9 "${reldir_mono}/${binname}.zip" ${binname}
|
||||||
rm -rf ${binname}
|
rm -rf ${binname}
|
||||||
|
|
||||||
@@ -283,7 +435,6 @@ if [ "${build_mono}" == "1" ]; then
|
|||||||
cp -rp out/windows/x86/templates-mono/data.mono.windows.32.* ${templatesdir_mono}/
|
cp -rp out/windows/x86/templates-mono/data.mono.windows.32.* ${templatesdir_mono}/
|
||||||
cp out/windows/x86/templates-mono/godot.windows.opt.debug.32.mono.exe ${templatesdir_mono}/windows_32_debug.exe
|
cp out/windows/x86/templates-mono/godot.windows.opt.debug.32.mono.exe ${templatesdir_mono}/windows_32_debug.exe
|
||||||
cp out/windows/x86/templates-mono/godot.windows.opt.32.mono.exe ${templatesdir_mono}/windows_32_release.exe
|
cp out/windows/x86/templates-mono/godot.windows.opt.32.mono.exe ${templatesdir_mono}/windows_32_release.exe
|
||||||
|
|
||||||
strip ${templatesdir_mono}/windows*.exe
|
strip ${templatesdir_mono}/windows*.exe
|
||||||
|
|
||||||
mkdir -p ${templatesdir_mono}/bcl
|
mkdir -p ${templatesdir_mono}/bcl
|
||||||
@@ -292,33 +443,29 @@ if [ "${build_mono}" == "1" ]; then
|
|||||||
## OSX (Mono) ##
|
## OSX (Mono) ##
|
||||||
|
|
||||||
# Editor
|
# Editor
|
||||||
binname="${godot_basename}_mono_osx.64"
|
binname="${godot_basename}_mono_osx.universal"
|
||||||
rm -rf Godot_mono.app
|
rm -rf Godot_mono.app
|
||||||
cp -r git/misc/dist/osx_tools.app Godot_mono.app
|
cp -r git/misc/dist/osx_tools.app Godot_mono.app
|
||||||
mkdir -p Godot_mono.app/Contents/MacOS
|
mkdir -p Godot_mono.app/Contents/{MacOS,Resources}
|
||||||
cp out/macosx/x64/tools-mono/godot.osx.opt.tools.64.mono Godot_mono.app/Contents/MacOS/Godot
|
cp out/macosx/tools-mono/godot.osx.opt.tools.universal.mono Godot_mono.app/Contents/MacOS/Godot
|
||||||
mkdir -p Godot_mono.app/Contents/{Frameworks,Resources}
|
cp -rp out/macosx/tools-mono/GodotSharp Godot_mono.app/Contents/Resources/GodotSharp
|
||||||
mkdir -p Godot_mono.app/Contents/{Frameworks,Resources}/GodotSharp
|
cp -rp out/aot-compilers Godot_mono.app/Contents/Resources/GodotSharp/Tools/
|
||||||
mkdir -p Godot_mono.app/Contents/{Frameworks,Resources}/GodotSharp/Mono
|
|
||||||
cp -rp out/macosx/x64/tools-mono/GodotSharp/Api Godot_mono.app/Contents/Frameworks/GodotSharp
|
|
||||||
cp -rp out/macosx/x64/tools-mono/GodotSharp/Mono/lib Godot_mono.app/Contents/Frameworks/GodotSharp/Mono
|
|
||||||
cp -rp out/macosx/x64/tools-mono/GodotSharp/Tools Godot_mono.app/Contents/Frameworks/GodotSharp
|
|
||||||
cp -rp out/macosx/x64/tools-mono/GodotSharp/Mono/etc Godot_mono.app/Contents/Resources/GodotSharp/Mono
|
|
||||||
chmod +x Godot_mono.app/Contents/MacOS/Godot
|
chmod +x Godot_mono.app/Contents/MacOS/Godot
|
||||||
zip -q -9 -r "${reldir_mono}/${binname}.zip" Godot_mono.app
|
zip -q -9 -r "${reldir_mono}/${binname}.zip" Godot_mono.app
|
||||||
rm -rf Godot_mono.app
|
rm -rf Godot_mono.app
|
||||||
|
sign_macos ${reldir_mono} ${binname} 1
|
||||||
|
|
||||||
# Templates
|
# Templates
|
||||||
rm -rf osx_template.app
|
rm -rf osx_template.app
|
||||||
cp -r git/misc/dist/osx_template.app .
|
cp -r git/misc/dist/osx_template.app .
|
||||||
mkdir -p osx_template.app/Contents/MacOS
|
mkdir -p osx_template.app/Contents/{MacOS,Resources}
|
||||||
|
cp out/macosx/templates-mono/godot.osx.opt.debug.universal.mono osx_template.app/Contents/MacOS/godot_osx_debug.64
|
||||||
cp out/macosx/x64/templates-mono/godot.osx.opt.debug.64.mono osx_template.app/Contents/MacOS/godot_osx_debug.64
|
cp out/macosx/templates-mono/godot.osx.opt.universal.mono osx_template.app/Contents/MacOS/godot_osx_release.64
|
||||||
cp out/macosx/x64/templates-mono/godot.osx.opt.64.mono osx_template.app/Contents/MacOS/godot_osx_release.64
|
cp -rp out/macosx/templates-mono/data.mono.osx.64.* osx_template.app/Contents/Resources/
|
||||||
cp -rp out/macosx/x64/templates-mono/data.mono.osx.64.* osx_template.app/Contents/MacOS/
|
|
||||||
chmod +x osx_template.app/Contents/MacOS/godot_osx*
|
chmod +x osx_template.app/Contents/MacOS/godot_osx*
|
||||||
zip -q -9 -r "${templatesdir_mono}/osx.zip" osx_template.app
|
zip -q -9 -r "${templatesdir_mono}/osx.zip" osx_template.app
|
||||||
rm -rf osx_template.app
|
rm -rf osx_template.app
|
||||||
|
sign_macos_template ${templatesdir_mono} 1
|
||||||
|
|
||||||
## Server (Mono) ##
|
## Server (Mono) ##
|
||||||
|
|
||||||
@@ -326,7 +473,9 @@ if [ "${build_mono}" == "1" ]; then
|
|||||||
binbasename="${godot_basename}_mono_linux_headless"
|
binbasename="${godot_basename}_mono_linux_headless"
|
||||||
mkdir -p ${binbasename}_64
|
mkdir -p ${binbasename}_64
|
||||||
cp out/server/x64/tools-mono/godot_server.x11.opt.tools.64.mono ${binbasename}_64/${binbasename}.64
|
cp out/server/x64/tools-mono/godot_server.x11.opt.tools.64.mono ${binbasename}_64/${binbasename}.64
|
||||||
|
strip ${binbasename}_64/${binbasename}.64
|
||||||
cp -rp out/server/x64/tools-mono/GodotSharp ${binbasename}_64/
|
cp -rp out/server/x64/tools-mono/GodotSharp ${binbasename}_64/
|
||||||
|
cp -rp out/aot-compilers ${binbasename}_64/GodotSharp/Tools/
|
||||||
zip -r -q -9 "${reldir_mono}/${binbasename}_64.zip" ${binbasename}_64
|
zip -r -q -9 "${reldir_mono}/${binbasename}_64.zip" ${binbasename}_64
|
||||||
rm -rf ${binbasename}_64
|
rm -rf ${binbasename}_64
|
||||||
|
|
||||||
@@ -334,6 +483,7 @@ if [ "${build_mono}" == "1" ]; then
|
|||||||
binbasename="${godot_basename}_mono_linux_server"
|
binbasename="${godot_basename}_mono_linux_server"
|
||||||
mkdir -p ${binbasename}_64
|
mkdir -p ${binbasename}_64
|
||||||
cp out/server/x64/templates-mono/godot_server.x11.opt.64.mono ${binbasename}_64/${binbasename}.64
|
cp out/server/x64/templates-mono/godot_server.x11.opt.64.mono ${binbasename}_64/${binbasename}.64
|
||||||
|
strip ${binbasename}_64/${binbasename}.64
|
||||||
cp -rp out/server/x64/templates-mono/data.mono.server.64.release ${binbasename}_64/data_${binbasename}_64
|
cp -rp out/server/x64/templates-mono/data.mono.server.64.release ${binbasename}_64/data_${binbasename}_64
|
||||||
zip -r -q -9 "${reldir_mono}/${binbasename}_64.zip" ${binbasename}_64
|
zip -r -q -9 "${reldir_mono}/${binbasename}_64.zip" ${binbasename}_64
|
||||||
rm -rf ${binbasename}_64
|
rm -rf ${binbasename}_64
|
||||||
@@ -349,6 +499,13 @@ if [ "${build_mono}" == "1" ]; then
|
|||||||
|
|
||||||
## Android (Mono) ##
|
## Android (Mono) ##
|
||||||
|
|
||||||
|
# Lib for direct download
|
||||||
|
cp out/android/templates-mono/godot-lib.release.aar ${reldir_mono}/godot-lib.${templates_version}.mono.release.aar
|
||||||
|
|
||||||
|
# Editor
|
||||||
|
#binname="${godot_basename}_mono_android_editor.apk"
|
||||||
|
#cp out/android/tools-mono/android_editor.apk ${reldir_mono}/${binname}
|
||||||
|
|
||||||
# Templates
|
# Templates
|
||||||
cp out/android/templates-mono/*.apk ${templatesdir_mono}/
|
cp out/android/templates-mono/*.apk ${templatesdir_mono}/
|
||||||
cp out/android/templates-mono/android_source.zip ${templatesdir_mono}/
|
cp out/android/templates-mono/android_source.zip ${templatesdir_mono}/
|
||||||
@@ -359,12 +516,40 @@ if [ "${build_mono}" == "1" ]; then
|
|||||||
|
|
||||||
## iOS (Mono) ##
|
## iOS (Mono) ##
|
||||||
|
|
||||||
# Not supported yet.
|
rm -rf ios_xcode
|
||||||
|
cp -r git/misc/dist/ios_xcode ios_xcode
|
||||||
|
cp out/ios/templates-mono/libgodot.iphone.simulator.a ios_xcode/libgodot.iphone.release.xcframework/ios-arm64_x86_64-simulator/libgodot.a
|
||||||
|
cp out/ios/templates-mono/libgodot.iphone.debug.simulator.a ios_xcode/libgodot.iphone.debug.xcframework/ios-arm64_x86_64-simulator/libgodot.a
|
||||||
|
cp out/ios/templates-mono/libgodot.iphone.a ios_xcode/libgodot.iphone.release.xcframework/ios-arm64/libgodot.a
|
||||||
|
cp out/ios/templates-mono/libgodot.iphone.debug.a ios_xcode/libgodot.iphone.debug.xcframework/ios-arm64/libgodot.a
|
||||||
|
cd ios_xcode
|
||||||
|
zip -q -9 -r "${templatesdir_mono}/iphone.zip" *
|
||||||
|
cd ..
|
||||||
|
rm -rf ios_xcode
|
||||||
|
|
||||||
|
mkdir -p ${templatesdir_mono}/bcl
|
||||||
|
cp -r out/ios/templates-mono/bcl/monotouch* ${templatesdir_mono}/bcl/
|
||||||
|
cp -r out/ios/templates-mono/iphone-mono-libs ${templatesdir_mono}
|
||||||
|
|
||||||
## UWP (Mono) ##
|
## UWP (Mono) ##
|
||||||
|
|
||||||
# Not supported yet.
|
# Not supported yet.
|
||||||
|
|
||||||
|
## Templates TPZ (Mono) ##
|
||||||
|
|
||||||
|
echo "${templates_version}.mono" > ${templatesdir_mono}/version.txt
|
||||||
|
pushd ${templatesdir_mono}/..
|
||||||
|
zip -q -9 -r -D "${reldir_mono}/${godot_basename}_mono_export_templates.tpz" templates/*
|
||||||
|
popd
|
||||||
|
|
||||||
|
## SHA-512 sums (Mono) ##
|
||||||
|
|
||||||
|
pushd ${reldir_mono}
|
||||||
|
sha512sum [Gg]* >> SHA512-SUMS.txt
|
||||||
|
mkdir -p ${basedir}/sha512sums/${godot_version}/mono
|
||||||
|
cp SHA512-SUMS.txt ${basedir}/sha512sums/${godot_version}/mono/
|
||||||
|
popd
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "All editor binaries and templates prepared successfully for release"
|
echo "All editor binaries and templates prepared successfully for release"
|
||||||
|
|||||||
@@ -4,13 +4,11 @@ set -e
|
|||||||
|
|
||||||
# Config
|
# Config
|
||||||
|
|
||||||
export BUILD_NAME=official
|
|
||||||
export SCONS="scons -j${NUM_CORES} verbose=yes warnings=no progress=no"
|
export SCONS="scons -j${NUM_CORES} verbose=yes warnings=no progress=no"
|
||||||
export OPTIONS="debug_symbols=no use_static_cpp=yes use_lto=yes"
|
export OPTIONS="production=yes"
|
||||||
export OPTIONS_MONO="module_mono_enabled=yes mono_static=yes"
|
export OPTIONS_MONO="module_mono_enabled=yes mono_static=yes mono_prefix=/root/mono-installs/desktop-linux-x86_64-release"
|
||||||
export TERM=xterm
|
export TERM=xterm
|
||||||
export CC="gcc-8"
|
export PATH="${GODOT_SDK_LINUX_X86_64}/bin:${BASE_PATH}"
|
||||||
export CXX="g++-8"
|
|
||||||
|
|
||||||
rm -rf godot
|
rm -rf godot
|
||||||
mkdir godot
|
mkdir godot
|
||||||
@@ -22,15 +20,14 @@ tar xf /root/godot.tar.gz --strip-components=1
|
|||||||
if [ "${CLASSICAL}" == "1" ]; then
|
if [ "${CLASSICAL}" == "1" ]; then
|
||||||
echo "Starting classical build for Server..."
|
echo "Starting classical build for Server..."
|
||||||
|
|
||||||
$SCONS platform=server CC=$CC CXX=$CXX $OPTIONS tools=yes target=release_debug
|
$SCONS platform=server $OPTIONS tools=yes target=release_debug
|
||||||
mkdir -p /root/out/tools
|
mkdir -p /root/out/x64/tools
|
||||||
cp -rvp bin/* /root/out/tools
|
cp -rvp bin/* /root/out/x64/tools
|
||||||
rm -rf bin
|
rm -rf bin
|
||||||
|
|
||||||
#$SCONS platform=server CC=$CC CXX=$CXX $OPTIONS tools=no target=release_debug
|
$SCONS platform=server $OPTIONS tools=no target=release
|
||||||
$SCONS platform=server CC=$CC CXX=$CXX $OPTIONS tools=no target=release
|
mkdir -p /root/out/x64/templates
|
||||||
mkdir -p /root/out/templates
|
cp -rvp bin/* /root/out/x64/templates
|
||||||
cp -rvp bin/* /root/out/templates
|
|
||||||
rm -rf bin
|
rm -rf bin
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -43,15 +40,14 @@ if [ "${MONO}" == "1" ]; then
|
|||||||
cp -r /root/mono-glue/GodotSharp/GodotSharp/Generated modules/mono/glue/GodotSharp/GodotSharp/
|
cp -r /root/mono-glue/GodotSharp/GodotSharp/Generated modules/mono/glue/GodotSharp/GodotSharp/
|
||||||
cp -r /root/mono-glue/GodotSharp/GodotSharpEditor/Generated modules/mono/glue/GodotSharp/GodotSharpEditor/
|
cp -r /root/mono-glue/GodotSharp/GodotSharpEditor/Generated modules/mono/glue/GodotSharp/GodotSharpEditor/
|
||||||
|
|
||||||
$SCONS platform=server CC=$CC CXX=$CXX $OPTIONS $OPTIONS_MONO tools=yes target=release_debug copy_mono_root=yes
|
$SCONS platform=server $OPTIONS $OPTIONS_MONO tools=yes target=release_debug copy_mono_root=yes
|
||||||
mkdir -p /root/out/tools-mono
|
mkdir -p /root/out/x64/tools-mono
|
||||||
cp -rvp bin/* /root/out/tools-mono
|
cp -rvp bin/* /root/out/x64/tools-mono
|
||||||
rm -rf bin
|
rm -rf bin
|
||||||
|
|
||||||
#$SCONS platform=server CC=$CC CXX=$CXX $OPTIONS $OPTIONS_MONO tools=no target=release_debug
|
$SCONS platform=server $OPTIONS $OPTIONS_MONO tools=no target=release
|
||||||
$SCONS platform=server CC=$CC CXX=$CXX $OPTIONS $OPTIONS_MONO tools=no target=release
|
mkdir -p /root/out/x64/templates-mono
|
||||||
mkdir -p /root/out/templates-mono
|
cp -rvp bin/* /root/out/x64/templates-mono
|
||||||
cp -rvp bin/* /root/out/templates-mono
|
|
||||||
rm -rf bin
|
rm -rf bin
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -1,73 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
godot_version=""
|
|
||||||
templates_version=""
|
|
||||||
build_classical=1
|
|
||||||
build_mono=1
|
|
||||||
|
|
||||||
while getopts "h?v:t:b:" opt; do
|
|
||||||
case "$opt" in
|
|
||||||
h|\?)
|
|
||||||
echo "Usage: $0 [OPTIONS...]"
|
|
||||||
echo
|
|
||||||
echo " -v public version (e.g. 3.2-stable) [mandatory]"
|
|
||||||
echo " -t templates version (e.g. 3.2.stable) [mandatory]"
|
|
||||||
echo " -b all|classical|mono (default: all)"
|
|
||||||
echo
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
v)
|
|
||||||
godot_version=$OPTARG
|
|
||||||
;;
|
|
||||||
t)
|
|
||||||
templates_version=$OPTARG
|
|
||||||
;;
|
|
||||||
b)
|
|
||||||
if [ "$OPTARG" == "classical" ]; then
|
|
||||||
build_mono=0
|
|
||||||
elif [ "$OPTARG" == "mono" ]; then
|
|
||||||
build_classical=0
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ -z "${godot_version}" -o -z "${templates_version}" ]; then
|
|
||||||
echo "Mandatory argument -v or -t missing."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
export basedir=$(pwd)
|
|
||||||
export reldir="${basedir}/releases/${godot_version}"
|
|
||||||
export reldir_mono="${reldir}/mono"
|
|
||||||
export tmpdir="${basedir}/tmp"
|
|
||||||
export templatesdir="${tmpdir}/templates"
|
|
||||||
export templatesdir_mono="${tmpdir}/mono/templates"
|
|
||||||
|
|
||||||
export godot_basename="Godot_v${godot_version}"
|
|
||||||
|
|
||||||
# Classical
|
|
||||||
|
|
||||||
if [ "${build_classical}" == "1" ]; then
|
|
||||||
echo "${templates_version}" > ${templatesdir}/version.txt
|
|
||||||
|
|
||||||
mkdir -p ${reldir}
|
|
||||||
pushd ${templatesdir}/..
|
|
||||||
zip -q -9 -r -D "${reldir}/${godot_basename}_export_templates.tpz" templates/*
|
|
||||||
popd
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Mono
|
|
||||||
|
|
||||||
if [ "${build_mono}" == "1" ]; then
|
|
||||||
echo "${templates_version}.mono" > ${templatesdir_mono}/version.txt
|
|
||||||
|
|
||||||
mkdir -p ${reldir_mono}
|
|
||||||
pushd ${templatesdir_mono}/..
|
|
||||||
zip -q -9 -r -D "${reldir_mono}/${godot_basename}_mono_export_templates.tpz" templates/*
|
|
||||||
popd
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Templates archives generated successfully"
|
|
||||||
@@ -4,9 +4,8 @@ set -e
|
|||||||
|
|
||||||
# Config
|
# Config
|
||||||
|
|
||||||
export BUILD_NAME=official
|
export SCONS="call scons -j${NUM_CORES} verbose=yes warnings=no progress=no"
|
||||||
export SCONS="call scons -j4 verbose=yes warnings=no progress=no"
|
export OPTIONS="production=yes"
|
||||||
export OPTIONS="debug_symbols=no"
|
|
||||||
export BUILD_ARCHES="x86 x64 arm"
|
export BUILD_ARCHES="x86 x64 arm"
|
||||||
export ANGLE_SRC_PATH='c:\angle'
|
export ANGLE_SRC_PATH='c:\angle'
|
||||||
|
|
||||||
@@ -18,7 +17,7 @@ tar xf /root/godot.tar.gz --strip-components=1
|
|||||||
# Classical
|
# Classical
|
||||||
|
|
||||||
if [ "${CLASSICAL}" == "1" ]; then
|
if [ "${CLASSICAL}" == "1" ]; then
|
||||||
echo "Starting classical build for Server..."
|
echo "Starting classical build for UWP..."
|
||||||
|
|
||||||
for arch in ${BUILD_ARCHES}; do
|
for arch in ${BUILD_ARCHES}; do
|
||||||
for release in release release_debug; do
|
for release in release release_debug; do
|
||||||
|
|||||||
@@ -4,13 +4,12 @@ set -e
|
|||||||
|
|
||||||
# Config
|
# Config
|
||||||
|
|
||||||
export BUILD_NAME=official
|
|
||||||
export SCONS="scons -j${NUM_CORES} verbose=yes warnings=no progress=no"
|
export SCONS="scons -j${NUM_CORES} verbose=yes warnings=no progress=no"
|
||||||
export OPTIONS="debug_symbols=no use_lto=yes"
|
export OPTIONS="production=yes"
|
||||||
export OPTIONS_MONO="module_mono_enabled=yes mono_static=yes"
|
export OPTIONS_MONO="module_mono_enabled=yes mono_static=yes"
|
||||||
|
export MONO_PREFIX_X86_64="/root/mono-installs/desktop-windows-x86_64-release"
|
||||||
|
export MONO_PREFIX_X86="/root/mono-installs/desktop-windows-x86-release"
|
||||||
export TERM=xterm
|
export TERM=xterm
|
||||||
export MONO32_PREFIX=/root/dependencies/mono-32
|
|
||||||
export MONO64_PREFIX=/root/dependencies/mono-64
|
|
||||||
|
|
||||||
rm -rf godot
|
rm -rf godot
|
||||||
mkdir godot
|
mkdir godot
|
||||||
@@ -54,24 +53,28 @@ if [ "${MONO}" == "1" ]; then
|
|||||||
cp -r /root/mono-glue/GodotSharp/GodotSharp/Generated modules/mono/glue/GodotSharp/GodotSharp/
|
cp -r /root/mono-glue/GodotSharp/GodotSharp/Generated modules/mono/glue/GodotSharp/GodotSharp/
|
||||||
cp -r /root/mono-glue/GodotSharp/GodotSharpEditor/Generated modules/mono/glue/GodotSharp/GodotSharpEditor/
|
cp -r /root/mono-glue/GodotSharp/GodotSharpEditor/Generated modules/mono/glue/GodotSharp/GodotSharpEditor/
|
||||||
|
|
||||||
$SCONS platform=windows bits=64 $OPTIONS $OPTIONS_MONO mono_prefix=$MONO64_PREFIX tools=yes target=release_debug copy_mono_root=yes
|
export OPTIONS_MONO_PREFIX="${OPTIONS} ${OPTIONS_MONO} mono_prefix=${MONO_PREFIX_X86_64}"
|
||||||
|
|
||||||
|
$SCONS platform=windows bits=64 $OPTIONS_MONO_PREFIX tools=yes target=release_debug copy_mono_root=yes
|
||||||
mkdir -p /root/out/x64/tools-mono
|
mkdir -p /root/out/x64/tools-mono
|
||||||
cp -rvp bin/* /root/out/x64/tools-mono
|
cp -rvp bin/* /root/out/x64/tools-mono
|
||||||
rm -rf bin
|
rm -rf bin
|
||||||
|
|
||||||
$SCONS platform=windows bits=64 $OPTIONS $OPTIONS_MONO mono_prefix=$MONO64_PREFIX tools=no target=release_debug
|
$SCONS platform=windows bits=64 $OPTIONS_MONO_PREFIX tools=no target=release_debug
|
||||||
$SCONS platform=windows bits=64 $OPTIONS $OPTIONS_MONO mono_prefix=$MONO64_PREFIX tools=no target=release
|
$SCONS platform=windows bits=64 $OPTIONS_MONO_PREFIX tools=no target=release
|
||||||
mkdir -p /root/out/x64/templates-mono
|
mkdir -p /root/out/x64/templates-mono
|
||||||
cp -rvp bin/* /root/out/x64/templates-mono
|
cp -rvp bin/* /root/out/x64/templates-mono
|
||||||
rm -rf bin
|
rm -rf bin
|
||||||
|
|
||||||
$SCONS platform=windows bits=32 $OPTIONS $OPTIONS_MONO mono_prefix=$MONO32_PREFIX tools=yes target=release_debug copy_mono_root=yes
|
export OPTIONS_MONO_PREFIX="${OPTIONS} ${OPTIONS_MONO} mono_prefix=${MONO_PREFIX_X86}"
|
||||||
|
|
||||||
|
$SCONS platform=windows bits=32 $OPTIONS_MONO_PREFIX tools=yes target=release_debug copy_mono_root=yes
|
||||||
mkdir -p /root/out/x86/tools-mono
|
mkdir -p /root/out/x86/tools-mono
|
||||||
cp -rvp bin/* /root/out/x86/tools-mono
|
cp -rvp bin/* /root/out/x86/tools-mono
|
||||||
rm -rf bin
|
rm -rf bin
|
||||||
|
|
||||||
$SCONS platform=windows bits=32 $OPTIONS $OPTIONS_MONO mono_prefix=$MONO32_PREFIX tools=no target=release_debug
|
$SCONS platform=windows bits=32 $OPTIONS_MONO_PREFIX tools=no target=release_debug
|
||||||
$SCONS platform=windows bits=32 $OPTIONS $OPTIONS_MONO mono_prefix=$MONO32_PREFIX tools=no target=release
|
$SCONS platform=windows bits=32 $OPTIONS_MONO_PREFIX tools=no target=release
|
||||||
mkdir -p /root/out/x86/templates-mono
|
mkdir -p /root/out/x86/templates-mono
|
||||||
cp -rvp bin/* /root/out/x86/templates-mono
|
cp -rvp bin/* /root/out/x86/templates-mono
|
||||||
rm -rf bin
|
rm -rf bin
|
||||||
|
|||||||
61
build.sh
61
build.sh
@@ -13,6 +13,10 @@ if [ ! -e config.sh ]; then
|
|||||||
fi
|
fi
|
||||||
source ./config.sh
|
source ./config.sh
|
||||||
|
|
||||||
|
if [ -z "${BUILD_NAME}" ]; then
|
||||||
|
export BUILD_NAME="custom_build"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -z "${NUM_CORES}" ]; then
|
if [ -z "${NUM_CORES}" ]; then
|
||||||
export NUM_CORES=16
|
export NUM_CORES=16
|
||||||
fi
|
fi
|
||||||
@@ -25,7 +29,7 @@ git_treeish="master"
|
|||||||
build_classical=1
|
build_classical=1
|
||||||
build_mono=1
|
build_mono=1
|
||||||
force_download=0
|
force_download=0
|
||||||
skip_download=0
|
skip_download=1
|
||||||
skip_git_checkout=0
|
skip_git_checkout=0
|
||||||
|
|
||||||
while getopts "h?r:u:p:v:g:b:fsc" opt; do
|
while getopts "h?r:u:p:v:g:b:fsc" opt; do
|
||||||
@@ -100,6 +104,16 @@ if [ -z "${godot_version}" ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
IFS=- read version status <<< "$godot_version"
|
||||||
|
echo "Building Godot ${version} ${status} from commit or branch ${git_treeish}."
|
||||||
|
read -p "Is this correct (y/n)? " choice
|
||||||
|
case "$choice" in
|
||||||
|
y|Y ) echo "yes";;
|
||||||
|
n|N ) echo "No, aborting."; exit 0;;
|
||||||
|
* ) echo "Invalid choice, aborting."; exit 1;;
|
||||||
|
esac
|
||||||
|
export GODOT_VERSION_STATUS="${status}"
|
||||||
|
|
||||||
if [ ! -z "${username}" ] && [ ! -z "${password}" ]; then
|
if [ ! -z "${username}" ] && [ ! -z "${password}" ]; then
|
||||||
if ${podman} login ${registry} -u "${username}" -p "${password}"; then
|
if ${podman} login ${registry} -u "${username}" -p "${password}"; then
|
||||||
export logged_in=true
|
export logged_in=true
|
||||||
@@ -108,7 +122,7 @@ fi
|
|||||||
|
|
||||||
if [ $skip_download == 0 ]; then
|
if [ $skip_download == 0 ]; then
|
||||||
echo "Fetching images"
|
echo "Fetching images"
|
||||||
for image in mono-glue windows ubuntu-64 ubuntu-32 javascript; do
|
for image in mono-glue windows linux javascript; do
|
||||||
if [ ${force_download} == 1 ] || ! ${podman} image exists godot/$image; then
|
if [ ${force_download} == 1 ] || ! ${podman} image exists godot/$image; then
|
||||||
if ! ${podman} pull ${registry}/godot/${image}; then
|
if ! ${podman} pull ${registry}/godot/${image}; then
|
||||||
echo "ERROR: image $image does not exist and can't be downloaded"
|
echo "ERROR: image $image does not exist and can't be downloaded"
|
||||||
@@ -139,7 +153,22 @@ if [ "${skip_git_checkout}" == 0 ]; then
|
|||||||
git clean -fdx
|
git clean -fdx
|
||||||
git pull origin ${git_treeish} || /bin/true
|
git pull origin ${git_treeish} || /bin/true
|
||||||
|
|
||||||
git archive --format=tar $git_treeish --prefix=godot-${godot_version}/ | gzip > ../godot.tar.gz
|
# Validate version
|
||||||
|
correct_version=$(python3 << EOF
|
||||||
|
import version;
|
||||||
|
if hasattr(version, "patch") and version.patch != 0:
|
||||||
|
git_version = f"{version.major}.{version.minor}.{version.patch}"
|
||||||
|
else:
|
||||||
|
git_version = f"{version.major}.{version.minor}"
|
||||||
|
print(git_version == "${version}")
|
||||||
|
EOF
|
||||||
|
)
|
||||||
|
if [[ "$correct_version" != "True" ]]; then
|
||||||
|
echo "Version in version.py doesn't match the passed ${version}."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
sh misc/scripts/make_tarball.sh -v ${godot_version} -g ${git_treeish}
|
||||||
popd
|
popd
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -147,8 +176,13 @@ export basedir="$(pwd)"
|
|||||||
mkdir -p ${basedir}/out
|
mkdir -p ${basedir}/out
|
||||||
mkdir -p ${basedir}/out/logs
|
mkdir -p ${basedir}/out/logs
|
||||||
|
|
||||||
export podman_run="${podman} run -it --rm --env NUM_CORES --env CLASSICAL=${build_classical} --env MONO=${build_mono} -v ${basedir}/godot.tar.gz:/root/godot.tar.gz -v ${basedir}/mono-glue:/root/mono-glue -w /root/"
|
export podman_run="${podman} run -it --rm --env BUILD_NAME --env GODOT_VERSION_STATUS --env NUM_CORES --env CLASSICAL=${build_classical} --env MONO=${build_mono} -v ${basedir}/godot-${godot_version}.tar.gz:/root/godot.tar.gz -v ${basedir}/mono-glue:/root/mono-glue -w /root/"
|
||||||
export img_version=3.2-mono-6.6.0.166
|
export img_version=3.x-f36-mono-6.12.0.182
|
||||||
|
|
||||||
|
# Get AOT compilers from their containers.
|
||||||
|
mkdir -p ${basedir}/out/aot-compilers
|
||||||
|
${podman} run -it --rm -w /root -v ${basedir}/out/aot-compilers:/root/out localhost/godot-ios:${img_version} bash -c "cp -r /root/aot-compilers/* /root/out"
|
||||||
|
chmod +x ${basedir}/out/aot-compilers/*/*
|
||||||
|
|
||||||
mkdir -p ${basedir}/mono-glue
|
mkdir -p ${basedir}/mono-glue
|
||||||
${podman_run} -v ${basedir}/build-mono-glue:/root/build localhost/godot-mono-glue:${img_version} bash build/build.sh 2>&1 | tee ${basedir}/out/logs/mono-glue
|
${podman_run} -v ${basedir}/build-mono-glue:/root/build localhost/godot-mono-glue:${img_version} bash build/build.sh 2>&1 | tee ${basedir}/out/logs/mono-glue
|
||||||
@@ -156,17 +190,14 @@ ${podman_run} -v ${basedir}/build-mono-glue:/root/build localhost/godot-mono-glu
|
|||||||
mkdir -p ${basedir}/out/windows
|
mkdir -p ${basedir}/out/windows
|
||||||
${podman_run} -v ${basedir}/build-windows:/root/build -v ${basedir}/out/windows:/root/out localhost/godot-windows:${img_version} bash build/build.sh 2>&1 | tee ${basedir}/out/logs/windows
|
${podman_run} -v ${basedir}/build-windows:/root/build -v ${basedir}/out/windows:/root/out localhost/godot-windows:${img_version} bash build/build.sh 2>&1 | tee ${basedir}/out/logs/windows
|
||||||
|
|
||||||
mkdir -p ${basedir}/out/linux/x64
|
mkdir -p ${basedir}/out/linux
|
||||||
${podman_run} -v ${basedir}/build-linux:/root/build -v ${basedir}/out/linux/x64:/root/out localhost/godot-ubuntu-64:${img_version} bash build/build.sh 2>&1 | tee ${basedir}/out/logs/linux64
|
${podman_run} -v ${basedir}/build-linux:/root/build -v ${basedir}/out/linux:/root/out localhost/godot-linux:${img_version} bash build/build.sh 2>&1 | tee ${basedir}/out/logs/linux
|
||||||
|
|
||||||
mkdir -p ${basedir}/out/linux/x86
|
|
||||||
${podman_run} -v ${basedir}/build-linux:/root/build -v ${basedir}/out/linux/x86:/root/out localhost/godot-ubuntu-32:${img_version} bash build/build.sh 2>&1 | tee ${basedir}/out/logs/linux32
|
|
||||||
|
|
||||||
mkdir -p ${basedir}/out/javascript
|
mkdir -p ${basedir}/out/javascript
|
||||||
${podman_run} -v ${basedir}/build-javascript:/root/build -v ${basedir}/out/javascript:/root/out localhost/godot-javascript:${img_version} bash build/build.sh 2>&1 | tee ${basedir}/out/logs/javascript
|
${podman_run} -v ${basedir}/build-javascript:/root/build -v ${basedir}/out/javascript:/root/out localhost/godot-javascript:${img_version} bash build/build.sh 2>&1 | tee ${basedir}/out/logs/javascript
|
||||||
|
|
||||||
mkdir -p ${basedir}/out/macosx/x64
|
mkdir -p ${basedir}/out/macosx
|
||||||
${podman_run} -v ${basedir}/build-macosx:/root/build -v ${basedir}/out/macosx/x64:/root/out localhost/godot-osx:${img_version} bash build/build.sh 2>&1 | tee ${basedir}/out/logs/macosx
|
${podman_run} -v ${basedir}/build-macosx:/root/build -v ${basedir}/out/macosx:/root/out localhost/godot-osx:${img_version} bash build/build.sh 2>&1 | tee ${basedir}/out/logs/macosx
|
||||||
|
|
||||||
mkdir -p ${basedir}/out/android
|
mkdir -p ${basedir}/out/android
|
||||||
${podman_run} -v ${basedir}/build-android:/root/build -v ${basedir}/out/android:/root/out localhost/godot-android:${img_version} bash build/build.sh 2>&1 | tee ${basedir}/out/logs/android
|
${podman_run} -v ${basedir}/build-android:/root/build -v ${basedir}/out/android:/root/out localhost/godot-android:${img_version} bash build/build.sh 2>&1 | tee ${basedir}/out/logs/android
|
||||||
@@ -174,12 +205,12 @@ ${podman_run} -v ${basedir}/build-android:/root/build -v ${basedir}/out/android:
|
|||||||
mkdir -p ${basedir}/out/ios
|
mkdir -p ${basedir}/out/ios
|
||||||
${podman_run} -v ${basedir}/build-ios:/root/build -v ${basedir}/out/ios:/root/out localhost/godot-ios:${img_version} bash build/build.sh 2>&1 | tee ${basedir}/out/logs/ios
|
${podman_run} -v ${basedir}/build-ios:/root/build -v ${basedir}/out/ios:/root/out localhost/godot-ios:${img_version} bash build/build.sh 2>&1 | tee ${basedir}/out/logs/ios
|
||||||
|
|
||||||
mkdir -p ${basedir}/out/server/x64
|
mkdir -p ${basedir}/out/server
|
||||||
${podman_run} -v ${basedir}/build-server:/root/build -v ${basedir}/out/server/x64:/root/out localhost/godot-ubuntu-64:${img_version} bash build/build.sh 2>&1 | tee ${basedir}/out/logs/server
|
${podman_run} -v ${basedir}/build-server:/root/build -v ${basedir}/out/server:/root/out localhost/godot-linux:${img_version} bash build/build.sh 2>&1 | tee ${basedir}/out/logs/server
|
||||||
|
|
||||||
mkdir -p ${basedir}/out/uwp
|
mkdir -p ${basedir}/out/uwp
|
||||||
${podman_run} --ulimit nofile=32768:32768 -v ${basedir}/build-uwp:/root/build -v ${basedir}/out/uwp:/root/out ${registry}/godot-private/uwp:latest bash build/build.sh 2>&1 | tee ${basedir}/out/logs/uwp
|
${podman_run} --ulimit nofile=32768:32768 -v ${basedir}/build-uwp:/root/build -v ${basedir}/out/uwp:/root/out ${registry}/godot-private/uwp:latest bash build/build.sh 2>&1 | tee ${basedir}/out/logs/uwp
|
||||||
|
|
||||||
if [ ! -z "$SUDO_UID" ]; then
|
if [ ! -z "$SUDO_UID" ]; then
|
||||||
chown -R "${SUDO_UID}":"${SUDO_GID}" ${basedir}/out
|
chown -R "${SUDO_UID}":"${SUDO_GID}" ${basedir}/git ${basedir}/out ${basedir}/mono-glue ${basedir}/godot*.tar.gz
|
||||||
fi
|
fi
|
||||||
|
|||||||
3
clean-release.sh
Executable file
3
clean-release.sh
Executable file
@@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
rm -rf releases tmp web
|
||||||
4
clean.sh
Executable file
4
clean.sh
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
rm -rf godot*.tar.gz mono-glue out releases tmp web
|
||||||
|
git status
|
||||||
15
config.sh.in
15
config.sh.in
@@ -11,6 +11,9 @@
|
|||||||
# https://github.com/godotengine/build-containers
|
# https://github.com/godotengine/build-containers
|
||||||
export REGISTRY="registry.prehensile-tales.com"
|
export REGISTRY="registry.prehensile-tales.com"
|
||||||
|
|
||||||
|
# Default build name used to distinguish between official and custom builds.
|
||||||
|
export BUILD_NAME="custom_build"
|
||||||
|
|
||||||
# Default number of parallel cores for each build.
|
# Default number of parallel cores for each build.
|
||||||
export NUM_CORES=16
|
export NUM_CORES=16
|
||||||
|
|
||||||
@@ -27,3 +30,15 @@ export SIGN_PASSWORD=""
|
|||||||
# Use your own when making a thirdparty build.
|
# Use your own when making a thirdparty build.
|
||||||
export SIGN_NAME=""
|
export SIGN_NAME=""
|
||||||
export SIGN_URL=""
|
export SIGN_URL=""
|
||||||
|
|
||||||
|
# Hostname or IP address of an OSX host (Needed for signing)
|
||||||
|
# eg "user@10.1.0.10"
|
||||||
|
export OSX_HOST=""
|
||||||
|
# ID of the Apple certificate used to sign
|
||||||
|
export OSX_KEY_ID=""
|
||||||
|
# Bundle id for the signed app
|
||||||
|
export OSX_BUNDLE_ID=""
|
||||||
|
# Username/password for Apple's signing APIs (used for notarytool)
|
||||||
|
export APPLE_TEAM=""
|
||||||
|
export APPLE_ID=""
|
||||||
|
export APPLE_ID_PASSWORD=""
|
||||||
|
|||||||
BIN
osslsigncode
BIN
osslsigncode
Binary file not shown.
Reference in New Issue
Block a user