#!/bin/bash
set -e
-VERSION=`git tag --points-at HEAD`
-if [[ $VERSION = "" ]]; then
- VERSION=`git rev-parse --short HEAD`
+version="$(git describe --tags)"
+
+mkdir "snapshot"
+cd "snapshot"
+
+build="build"
+snapshot="dragonblocks_alpha-$version"
+toolchain=""
+dotexe=""
+dotsh=".sh"
+flags="-Ofast"
+
+if [[ "$1" != "" ]]; then
+ build="$build-$1"
+ snapshot="$snapshot-$1"
+ toolchain="$1.cmake"
+ dotexe=".exe"
+ dotsh=".bat"
+ flags="$flags -static"
fi
-BUILD=build-release
-SNAPSHOT=dragonblocks_alpha-$VERSION
-TOOLCHAIN=
-DOTEXE=
-DOTSH=".sh"
-if [[ "$1" == "mingw" ]]; then
- BUILD=build-mingw
- SNAPSHOT=dragonblocks_alpha-win64-$VERSION
- TOOLCHAIN=mingw.cmake
- DOTEXE=".exe"
- DOTSH=".bat"
-fi
-
-mkdir -p $BUILD
+mkdir "$build"
-cmake -B $BUILD -S src \
+cmake -B "$build" -S ../src \
-DCMAKE_BUILD_TYPE="Release" \
-DASSET_PATH="assets/" \
- -DCMAKE_C_FLAGS="-Ofast" \
- -DCMAKE_TOOLCHAIN_FILE="$TOOLCHAIN"
+ -DCMAKE_C_FLAGS="$flags" \
+ -DCMAKE_CXX_FLAGS="$flags" \
+ -DCMAKE_TOOLCHAIN_FILE="$toolchain"
-make --no-print-directory -C $BUILD -j$(nproc)
+make --no-print-directory -C "$build" -j"$(nproc)"
-rm -rf $SNAPSHOT
-mkdir $SNAPSHOT
+rm -rf "$snapshot"
+mkdir "$snapshot"
cp -r \
- assets \
- $BUILD/dragonblocks_client$DOTEXE \
- $BUILD/dragonblocks_server$DOTEXE \
- singleplayer$DOTSH \
- LICENSE \
- README.md \
- $SNAPSHOT
-
-zip -r $SNAPSHOT.zip $SNAPSHOT/*
+ "../assets" \
+ "$build/dragonblocks_client$dotexe" \
+ "$build/dragonblocks_server$dotexe" \
+ "../singleplayer$dotsh" \
+ "../LICENSE" \
+ "../README.md" \
+ "$snapshot"
+
+rm -f "$snapshot.zip"
+zip -r "$snapshot.zip" "$snapshot"/*