]> git.lizzy.rs Git - dragonblocks_alpha.git/blobdiff - snapshot.sh
Properly deinitialize player inventories
[dragonblocks_alpha.git] / snapshot.sh
index 9c1098fc482e74c3cfdcc7c174f8753af72db74c..290617fbb22409ca9ff3968757d47f1a8770bd93 100755 (executable)
@@ -1,23 +1,49 @@
 #!/bin/bash
-VERSION=`git tag --points-at HEAD`
-if [[ $VERSION = "" ]]; then
-       VERSION=`git rev-parse --short HEAD`
+set -e
+
+version="$(git describe --tags)"
+
+mkdir -p "snapshot"
+cd "snapshot"
+
+build="build"
+snapshot="dragonblocks_alpha-$version"
+toolchain=""
+dotexe=""
+dotsh=".sh"
+flags="-O2"
+
+if [[ "$1" != "" ]]; then
+       build="$build-$1"
+       snapshot="$snapshot-$1"
+       toolchain="$1.cmake"
+       dotexe=".exe"
+       dotsh=".bat"
+       flags="$flags -static"
 fi
-DIR=dragonblocks_alpha-$VERSION
-mkdir .build
-cp -r * .build/
-cd .build/
-mkdir build
-cd build
-if ! (cmake -B . -S ../src -DCMAKE_BUILD_TYPE=Release -DRESSOURCE_PATH="\"\"" -DCMAKE_C_FLAGS="-Ofast" && make clean && make -j$(nproc)); then
-       cd ../..
-       rm -rf .build
-       exit 1
-fi
-cp dragonblocks dragonblocks_server ..
-cd ..
-rm -rf .git* deps src build BUILDING.md snapshot.sh upload.sh dragonblocks_alpha-* screenshot-*.png
-cd ..
-mv .build $DIR
-zip -r $DIR.zip $DIR/*
-rm -rf $DIR
+
+mkdir -p "$build"
+
+cmake -B "$build" -S ../src \
+       -DCMAKE_BUILD_TYPE="Release" \
+       -DASSET_PATH="assets/" \
+       -DCMAKE_C_FLAGS="$flags" \
+       -DCMAKE_CXX_FLAGS="$flags" \
+       -DCMAKE_TOOLCHAIN_FILE="$toolchain"
+
+make --no-print-directory -C "$build" -j"$(nproc)"
+
+rm -rf "$snapshot"
+mkdir "$snapshot"
+
+cp -r \
+       "../assets" \
+       "$build/dragonblocks_client$dotexe" \
+       "$build/dragonblocks_server$dotexe" \
+       "../singleplayer$dotsh" \
+       "../LICENSE" \
+       "../README.md" \
+       "$snapshot"
+
+rm -f "$snapshot.zip"
+zip -r "$snapshot.zip" "$snapshot"/*