diff options
author | Alexander Harkness <me@bearbin.net> | 2021-07-10 22:58:33 +0200 |
---|---|---|
committer | Alexander Harkness <me@bearbin.net> | 2021-07-10 22:59:18 +0200 |
commit | 4bb359f06796cfd93374b2ed6d2c7d07ff86749c (patch) | |
tree | 9923ac2c4d4219563ad7e143542d670d82db1d09 /nightlybuild.sh | |
parent | Chorus fruit teleport (#5259) (diff) | |
download | cuberite-4bb359f06796cfd93374b2ed6d2c7d07ff86749c.tar cuberite-4bb359f06796cfd93374b2ed6d2c7d07ff86749c.tar.gz cuberite-4bb359f06796cfd93374b2ed6d2c7d07ff86749c.tar.bz2 cuberite-4bb359f06796cfd93374b2ed6d2c7d07ff86749c.tar.lz cuberite-4bb359f06796cfd93374b2ed6d2c7d07ff86749c.tar.xz cuberite-4bb359f06796cfd93374b2ed6d2c7d07ff86749c.tar.zst cuberite-4bb359f06796cfd93374b2ed6d2c7d07ff86749c.zip |
Diffstat (limited to 'nightlybuild.sh')
-rwxr-xr-x | nightlybuild.sh | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/nightlybuild.sh b/nightlybuild.sh new file mode 100755 index 000000000..2ba8f4976 --- /dev/null +++ b/nightlybuild.sh @@ -0,0 +1,88 @@ +#!/usr/bin/env bash + +set -ex + +# Parse arguments. +while [[ $# -gt 1 ]] +do +key="$1" +case $key in + -s|--server-name) + SERVERNAME="$2" + shift + ;; + -t|--target) + TARGET="$2" + shift + ;; + -c|--compiler) + CCOMP="$2" + shift + ;; + -cxx|--cxx-compiler) + CXXCOMP="$2" + shift + ;; + -m|--compile-mode) + COMPILEMODE="-DCMAKE_BUILD_TYPE=$2" + shift + ;; + -n|--build-number) + BUILDID="$2" + shift + ;; + -p|--toolchain-file) + TOOLCHAINFILE="-DCMAKE_TOOLCHAIN_FILE=$2" + shift + ;; + -b|--branch) + BRANCH="$2" + shift + ;; + -32|--force-32) + FORCE32="-DFORCE_32=$2" + shift + ;; + *) + ;; +esac +shift +done + +git submodule update --init + +# Set up build information. +export CUBERITE_BUILD_SERIES_NAME="$SERVERNAME $TARGET $COMPILEMODE ($BRANCH)" +export CUBERITE_BUILD_ID="$BUILDID" +export CUBERITE_BUILD_DATETIME="`date`" + +if [ -x "$(command -v ccache)" ] +then + export CCACHE_CPP2=true + CACHE_ARGS="-DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache" +fi + +# Build +CXX=$CXXCOMP CC=$CCOMP cmake . -DNO_NATIVE_OPTIMIZATION=1 ${CACHE_ARGS} ${TOOLCHAINFILE} ${COMPILEMODE} ${FORCE32} +make -j 4 + + +# Package Server +echo Cuberite "$CUBERITE_BUILD_SERIES_NAME-$CUBERITE_BUILD_ID\n$BUILD_URL" > Server/buildinfo.txt + +# h: dereference (archive file/folder instead of symlink) +# z: gzip (compress) +# c: create +# v: verbose +# T: files-from (list of server files accepted for release archives) +# f: file (output file location) +pushd Server +tar -hzcv --exclude .git -T Install/UnixExecutables.list -f ../Cuberite.tar.gz +popd +sha1sum Cuberite.tar.gz > Cuberite.tar.gz.sha1 + +# Package ProtoProxy +# This tool is very out of date, uncomment when it's being worked on again +# pushd Tools/ProtoProxy +# sha1sum ProtoProxy > ProtoProxy.sha1 +# popd |