godot-docs/reference/batch_building_templates.rst

174 lines
5.7 KiB
ReStructuredText
Raw Normal View History

2016-02-08 23:45:57 +01:00
.. _doc_batch_building_templates:
2015-12-12 17:57:44 +01:00
Batch building templates
========================
The following is almost the same script that we use to build all the
export templates that go to the website. If you want to build or roll them
2015-12-12 17:57:44 +01:00
yourself, this might be of use.
(note: Apple stuff is missing)
2015-12-12 17:57:44 +01:00
::
#This script is intended to run on Linux or OSX. Cygwin might work.
# if this flag is set, build is tagged as release in the version
# echo $IS_RELEASE_BUILD
#Need to set path to EMScripten
export EMSCRIPTEN_ROOT=/home/to/emscripten
#Build templates
#remove this stuff, will be created anew
rm -rf templates
mkdir -p templates
# Windows 32 Release and Debug
scons -j 4 p=windows target=release tools=no bits=32
cp bin/godot.windows.opt.32.exe templates/windows_32_release.exe
upx templates/windows_32_release.exe
scons -j 4 p=windows target=release_debug tools=no bits=32
cp bin/godot.windows.opt.debug.32.exe templates/windows_32_debug.exe
upx templates/windows_32_debug.exe
# Windows 64 Release and Debug (UPX does not support it yet)
scons -j 4 p=windows target=release tools=no bits=64
cp bin/godot.windows.opt.64.exe templates/windows_64_release.exe
x86_64-w64-mingw32-strip templates/windows_64_release.exe
scons -j 4 p=windows target=release_debug tools=no bits=64
cp bin/godot.windows.opt.debug.64.exe templates/windows_64_debug.exe
x86_64-w64-mingw32-strip templates/windows_64_debug.exe
# Linux 64 Release and Debug
scons -j 4 p=x11 target=release tools=no bits=64
cp bin/godot.x11.opt.64 templates/linux_x11_64_release
upx templates/linux_x11_64_release
scons -j 4 p=x11 target=release_debug tools=no bits=64
cp bin/godot.x11.opt.debug.64 templates/linux_x11_64_debug
upx templates/linux_x11_64_debug
# Linux 32 Release and Debug
scons -j 4 p=x11 target=release tools=no bits=32
cp bin/godot.x11.opt.32 templates/linux_x11_32_release
upx templates/linux_x11_32_release
scons -j 4 p=x11 target=release_debug tools=no bits=32
cp bin/godot.x11.opt.debug.32 templates/linux_x11_32_debug
upx templates/linux_x11_32_debug
# Server for 32 and 64 bits (always in debug)
scons -j 4 p=server target=release_debug tools=no bits=64
cp bin/godot_server.server.opt.debug.64 templates/linux_server_64
upx templates/linux_server_64
scons -j 4 p=server target=release_debug tools=no bits=32
cp bin/godot_server.server.opt.debug.32 templates/linux_server_32
upx templates/linux_server_32
# Android
**IMPORTANT REPLACE THIS BY ACTUAL VALUES**
export ANDROID_HOME=/home/to/android-sdk
export ANDROID_NDK_ROOT=/home/to/android-ndk
# git does not allow empty dirs, so create those
mkdir -p platform/android/java/libs/armeabi
mkdir -p platform/android/java/libs/x86
#Android Release
scons -j 4 p=android target=release
cp bin/libgodot.android.opt.so platform/android/java/libs/armeabi/libgodot_android.so
2016-03-04 08:54:04 +01:00
./gradlew build
cp platform/android/java/build/outputs/apk/java-release-unsigned.apk templates/android_release.apk
2015-12-12 17:57:44 +01:00
#Android Debug
scons -j 4 p=android target=release_debug
cp bin/libgodot.android.opt.debug.so platform/android/java/libs/armeabi/libgodot_android.so
2016-03-04 08:54:04 +01:00
./gradlew build
cp platform/android/java/build/outputs/apk/java-release-unsigned.apk templates/android_debug.apk
2015-12-12 17:57:44 +01:00
# EMScripten
scons -j 4 p=javascript target=release
cp bin/godot.javascript.opt.html godot.html
cp bin/godot.javascript.opt.js godot.js
cp tools/html_fs/filesystem.js .
zip javascript_release.zip godot.html godot.js filesystem.js
mv javascript_release.zip templates/
scons -j 4 p=javascript target=release_debug
cp bin/godot.javascript.opt.debug.html godot.html
cp bin/godot.javascript.opt.debug.js godot.js
cp tools/html_fs/filesystem.js .
zip javascript_debug.zip godot.html godot.js filesystem.js
mv javascript_debug.zip templates/
# BlackBerry 10 (currently disabled)
#./path/to/bbndk/bbndk-env.sh
2015-12-12 17:57:44 +01:00
#scons -j 4 platform/bb10/godot_bb10_opt.qnx.armle target=release
#cp platform/bb10/godot_bb10_opt.qnx.armle platform/bb10/bar
#scons -j 4 platform/bb10/godot_bb10.qnx.armle target=release_debug
#cp platform/bb10/godot_bb10.qnx.armle platform/bb10/bar
#cd platform/bb10/bar
#zip -r bb10.zip *
#mv bb10.zip ../../../templates
#cd ../../..
# BUILD ON MAC
[...]
# Build release executables with editor
mkdir -p release
scons -j 4 p=server target=release_debug bits=64
cp bin/godot_server.server.opt.tools.64 release/linux_server.64
upx release/linux_server.64
scons -j 4 p=x11 target=release_debug tools=yes bits=64
cp bin/godot.x11.opt.tools.64 release/godot_x11.64
# upx release/godot_x11.64 -- fails on some linux distros
scons -j 4 p=x11 target=release_debug tools=yes bits=32
cp bin/godot.x11.opt.tools.32 release/godot_x11.32
scons -j 4 p=windows target=release_debug tools=yes bits=64
cp bin/godot.windows.opt.tools.64.exe release/godot_win64.exe
x86_64-w64-mingw32-strip release/godot_win64.exe
#upx release/godot_win64.exe
scons -j 4 p=windows target=release_debug tools=yes bits=32
cp bin/godot.windows.opt.tools.32.exe release/godot_win32.exe
x86_64-w64-mingw32-strip release/godot_win32.exe
#upx release/godot_win64.exe
[..] # mac stuff
# Update classes.xml (used to generate doc)
cp doc/base/classes.xml .
release/linux_server.64 -doctool classes.xml
cd demos
rm -f godot_demos.zip
zip -r godot_demos *
cd ..
cd tools/export/blender25
zip -r bettercollada *
mv bettercollada.zip ../../..
cd ../../..