Skip to content

Commit 5d39f79

Browse files
committed
tvOS build script
1 parent 8d9ed90 commit 5d39f79

File tree

3 files changed

+62
-0
lines changed

3 files changed

+62
-0
lines changed

build-release.sh

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,19 @@ if [ "${build_classical}" == "1" ]; then
258258
cd ..
259259
rm -rf ios_xcode
260260

261+
262+
## tvOS (Classical) ##
263+
264+
rm -rf tvos_xcode
265+
cp -r git/misc/dist/tvos_xcode tvos_xcode
266+
cp out/tvos/templates/libgodot.tvos.opt.fat tvos_xcode/libgodot.tvos.release.fat.a
267+
cp out/tvos/templates/libgodot.tvos.opt.debug.fat tvos_xcode/libgodot.tvos.debug.fat.a
268+
chmod +x tvos_xcode/libgodot.tvos.*
269+
cd tvos_xcode
270+
zip -q -9 -r "${templatesdir}/tvos.zip" *
271+
cd ..
272+
rm -rf tvos_xcode
273+
261274
## UWP (Classical) ##
262275

263276
if [ ! -d "angle" ]; then

build-tvos/build.sh

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
#!/bin/bash
2+
3+
set -e
4+
5+
# Config
6+
7+
export SCONS="scons -j${NUM_CORES} verbose=yes warnings=no progress=no"
8+
export OPTIONS="production=yes"
9+
export OPTIONS_MONO="module_mono_enabled=yes mono_static=yes"
10+
export TERM=xterm
11+
12+
export TVOS_SDK="14.2"
13+
export TVOS_LIPO="/root/ioscross/arm64/bin/arm-apple-darwin11-lipo"
14+
15+
rm -rf godot
16+
mkdir godot
17+
cd godot
18+
tar xf /root/godot.tar.gz --strip-components=1
19+
20+
# Classical
21+
22+
if [ "${CLASSICAL}" == "1" ]; then
23+
echo "Starting classical build for tvOS..."
24+
25+
# tvOS Device
26+
# use_lto is required for Linux-compiled binary to pass App Store checks
27+
28+
$SCONS platform=tvos $OPTIONS arch=arm64 tools=no target=release_debug \
29+
TVOSSDK="/root/ioscross/arm64/SDK/AppleTVOS${TVOS_SDK}.sdk" TVOSPATH="/root/ioscross/arm64/" tvos_triple="arm-apple-darwin11-"
30+
$SCONS platform=tvos $OPTIONS arch=arm64 tools=no target=release \
31+
TVOSSDK="/root/ioscross/arm64/SDK/AppleTVOS${TVOS_SDK}.sdk" TVOSPATH="/root/ioscross/arm64/" tvos_triple="arm-apple-darwin11-"
32+
33+
# tvOS Simulator
34+
# simulators do not requre `use_lto` to work, so it's diabled to decrease build times.
35+
36+
$SCONS platform=tvos $OPTIONS arch=x86_64 simulator=yes tools=no use_lto=no target=release_debug \
37+
TVOSSDK="/root/ioscross/x86_64/SDK/AppleTVSimulator${TVOS_SDK}.sdk" TVOSPATH="/root/ioscross/x86_64/" tvos_triple="x86_64-apple-darwin11-"
38+
$SCONS platform=tvos $OPTIONS arch=x86_64 simulator=yes tools=no use_lto=no target=release \
39+
TVOSSDK="/root/ioscross/x86_64/SDK/AppleTVSimulator${TVOS_SDK}.sdk" TVOSPATH="/root/ioscross/x86_64/" tvos_triple="x86_64-apple-darwin11-"
40+
41+
mkdir -p /root/out/templates
42+
$TVOS_LIPO -create bin/libgodot.tvos.opt.arm64.a bin/libgodot.tvos.opt.x86_64.simulator.a -output /root/out/templates/libgodot.tvos.opt.fat
43+
$TVOS_LIPO -create bin/libgodot.tvos.opt.debug.arm64.a bin/libgodot.tvos.opt.debug.x86_64.simulator.a -output /root/out/templates/libgodot.tvos.opt.debug.fat
44+
fi
45+
46+
echo "tvOS build successful"

build.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,9 @@ ${podman_run} -v ${basedir}/build-android:/root/build -v ${basedir}/out/android:
198198
mkdir -p ${basedir}/out/ios
199199
${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
200200

201+
mkdir -p ${basedir}/out/tvos
202+
${podman_run} -v ${basedir}/build-tvos:/root/build -v ${basedir}/out/tvos:/root/out localhost/godot-tvos:${img_version} bash build/build.sh 2>&1 | tee ${basedir}/out/logs/tvos
203+
201204
mkdir -p ${basedir}/out/server/x64
202205
${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
203206

0 commit comments

Comments
 (0)