From d8b59c68890d61e5fc117af4cb785d5f01f63cbe Mon Sep 17 00:00:00 2001 From: JustArchi Date: Tue, 29 Mar 2016 22:58:18 +0200 Subject: [PATCH] Add Linux scripts --- cc.sh | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ run.sh | 28 ++++++++++++++++++++++++++ 2 files changed, 90 insertions(+) create mode 100755 cc.sh create mode 100755 run.sh diff --git a/cc.sh b/cc.sh new file mode 100755 index 000000000..391f2bf61 --- /dev/null +++ b/cc.sh @@ -0,0 +1,62 @@ +#!/bin/bash +set -eu + +BUILD="Release" +CLEAN=0 + +MONO_ARGS=("--aot" "--llvm" "--server" "-O=all") +XBUILD_ARGS=("/nologo") +BINARIES=("ArchiSteamFarm/bin/Release/ArchiSteamFarm.exe") +SOLUTION="ArchiSteamFarm.sln" + +PRINT_USAGE() { + echo "Usage: $0 [--clean] [debug/release]" + exit 1 +} + +for ARG in "$@"; do + case "$ARG" in + release|Release) BUILD="Release" ;; + debug|Debug) BUILD="Debug" ;; + --clean) CLEAN=1 ;; + *) PRINT_USAGE + esac +done + +XBUILD_ARGS+=("/p:Configuration=$BUILD") + +cd "$(dirname "$(readlink -f "$0")")" + +if [[ -d ".git" ]]; then + git pull +fi + +if [[ ! -f "$SOLUTION" ]]; then + echo "ERROR: $SOLUTION could not be found!" + exit 1 +fi + +if [[ "$CLEAN" -eq 1 ]]; then + rm -rf out + xbuild "${XBUILD_ARGS[@]}" "/t:Clean" "$SOLUTION" +fi + +xbuild "${XBUILD_ARGS[@]}" "$SOLUTION" + +if [[ ! -f "${BINARIES[0]}" ]]; then + echo "ERROR: ${BINARIES[0]} binary could not be found!" +fi + +# If it's release build, use Mono AOT for output binaries +if [[ "$BUILD" = "Release" ]]; then + for BINARY in "${BINARIES[@]}"; do + if [[ ! -f "$BINARY" ]]; then + continue + fi + + mono "${MONO_ARGS[@]}" "$BINARY" + done +fi + +echo +echo "Compilation finished successfully! :)" diff --git a/run.sh b/run.sh new file mode 100755 index 000000000..b5d253cce --- /dev/null +++ b/run.sh @@ -0,0 +1,28 @@ +#!/bin/bash +set -eu + +BUILD="Release" + +MONO_ARGS=("--llvm" "--server" "-O=all") + +PRINT_USAGE() { + echo "Usage: $0 [debug/release]" + exit 1 +} + +for ARG in "$@"; do + case "$ARG" in + release|Release) BUILD="Release" ;; + debug|Debug) BUILD="Debug" ;; + *) PRINT_USAGE + esac +done + +BINARY="ArchiSteamFarm/bin/$BUILD/ArchiSteamFarm.exe" + +if [[ ! -f "$BINARY" ]]; then + echo "ERROR: $BINARY could not be found!" + exit 1 +fi + +mono "${MONO_ARGS[@]}" "$BINARY"