1
0
forked from 0ad/0ad
0ad/source/tools/dist/build-unix-win32.sh
2024-08-20 19:10:54 +02:00

55 lines
1.7 KiB
Bash
Executable File

#!/bin/bash
set -ev
XZOPTS="-9 -e"
GZIP7ZOPTS="-mx=9"
BUNDLE_VERSION=${BUNDLE_VERSION:="0.0.xxx"}
PREFIX="0ad-${BUNDLE_VERSION}-alpha"
# Collect the relevant files
tar cf $PREFIX-unix-build.tar \
--exclude='*.bat' --exclude='*.dll' --exclude='*.exe' --exclude='*.lib' \
--exclude='libraries/source/fcollada/src/FCollada/FColladaTest' \
--exclude='libraries/source/spidermonkey/include-*' \
--exclude='libraries/source/spidermonkey/lib*' \
--exclude='source/test_root.cpp' \
-s "|.|$PREFIX/~|" \
{source,build,libraries/source,binaries/system/readme.txt,binaries/data/l10n,binaries/data/tests,binaries/data/mods/_test.*,*.txt}
tar cf $PREFIX-unix-data.tar \
--exclude='binaries/data/config/dev.cfg' \
-s "|archives|$PREFIX/binaries/data/mods|" \
-s "|binaries|$PREFIX/binaries|" \
binaries/data/{config,tools} archives/
# TODO: ought to include generated docs in here, perhaps?
# Compress
xz -kv ${XZOPTS} $PREFIX-unix-build.tar
xz -kv ${XZOPTS} $PREFIX-unix-data.tar
DO_GZIP=${DO_GZIP:=true}
if $DO_GZIP = true; then
7z a ${GZIP7ZOPTS} $PREFIX-unix-build.tar.gz $PREFIX-unix-build.tar
7z a ${GZIP7ZOPTS} $PREFIX-unix-data.tar.gz $PREFIX-unix-data.tar
fi
# Create Windows installer
# This needs nsisbi for files > 2GB
makensis -V4 -nocd \
-dcheckoutpath="." \
-dversion=${BUNDLE_VERSION} \
-dprefix=${PREFIX} \
-darchive_path="archives/" \
source/tools/dist/0ad.nsi
# Fix permissions
chmod -f 644 ${PREFIX}-{unix-{build,data}.tar.xz,win32.exe}
# Print digests for copying into wiki page
shasum -a 1 ${PREFIX}-{unix-{build,data}.tar.xz,win32.exe}
if $DO_GZIP = true; then
chmod -f 644 ${PREFIX}-unix-{build,data}.tar.gz
shasum -a 1 ${PREFIX}-unix-{build,data}.tar.gz
fi