mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/LCEMP-Server.git
synced 2026-05-22 04:16:37 +00:00
42 lines
1.2 KiB
Bash
42 lines
1.2 KiB
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
ROOT_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
|
SRC="$HOME/lcemp-src"
|
|
BUILD="$HOME/lcemp-build"
|
|
ACTION="${1:-Release}"
|
|
|
|
case "$ACTION" in
|
|
Clean)
|
|
rm -rf "$BUILD" "$SRC"
|
|
echo "Cleaned."
|
|
exit 0
|
|
;;
|
|
Sync)
|
|
rm -rf "$SRC"
|
|
;&
|
|
esac
|
|
|
|
if [ ! -d "$SRC/Minecraft.World" ]; then
|
|
echo "copying source files to $SRC..."
|
|
mkdir -p "$SRC"
|
|
cp -a "$ROOT_DIR/." "$SRC/"
|
|
rm -rf "$SRC/build_linux" "$SRC/build_dedicated" "$SRC/x64" "$SRC/x64_Server_Release" "$SRC/ipch" "$SRC/.vs"
|
|
else
|
|
rsync -a "$ROOT_DIR/CMakeLists.txt" "$SRC/"
|
|
rsync -a "$ROOT_DIR/cmake/" "$SRC/cmake/"
|
|
rsync -a "$ROOT_DIR/Minecraft.Server/" "$SRC/Minecraft.Server/" --exclude='*.obj' --exclude='*.pdb' --exclude='*.sdf' --exclude='*.tlog'
|
|
rsync -a "$ROOT_DIR/Minecraft.World/" "$SRC/Minecraft.World/" --exclude='*.obj' --exclude='*.pdb'
|
|
rsync -a "$ROOT_DIR/Minecraft.Client/" "$SRC/Minecraft.Client/" --exclude='*.obj' --exclude='*.pdb'
|
|
fi
|
|
|
|
mkdir -p "$BUILD"
|
|
cd "$BUILD"
|
|
cmake "$SRC/Minecraft.Server" -DCMAKE_BUILD_TYPE=Release
|
|
cmake --build . --target MinecraftDedicatedServer -- -j$(nproc)
|
|
strip MinecraftDedicatedServer
|
|
|
|
echo ""
|
|
ls -lh MinecraftDedicatedServer
|