magicciv/build-gdext.sh
2026-04-13 14:10:27 -07:00

34 lines
1.3 KiB
Bash
Executable file

#!/usr/bin/env bash
set -euo pipefail
TARGET=${1:-x86_64-unknown-linux-gnu}
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ADDON_DIR="$SCRIPT_DIR/../game/engine/addons/magic_civ_physics"
cargo build --release -p magic-civ-physics-gdext --target "$TARGET"
mkdir -p "$ADDON_DIR"
case "$TARGET" in
x86_64-unknown-linux-gnu)
rm -f "$ADDON_DIR/libmagic_civ_physics.x86_64.so"
cp "$SCRIPT_DIR/target/$TARGET/release/libmagic_civ_physics_gdext.so" \
"$ADDON_DIR/libmagic_civ_physics.x86_64.so"
echo "Copied → engine/addons/magic_civ_physics/libmagic_civ_physics.x86_64.so"
;;
x86_64-pc-windows-gnu|x86_64-pc-windows-msvc)
rm -f "$ADDON_DIR/magic_civ_physics.x86_64.dll"
cp "$SCRIPT_DIR/target/$TARGET/release/magic_civ_physics_gdext.dll" \
"$ADDON_DIR/magic_civ_physics.x86_64.dll"
echo "Copied → engine/addons/magic_civ_physics/magic_civ_physics.x86_64.dll"
;;
aarch64-apple-darwin|x86_64-apple-darwin)
rm -f "$ADDON_DIR/libmagic_civ_physics.dylib"
cp "$SCRIPT_DIR/target/$TARGET/release/libmagic_civ_physics_gdext.dylib" \
"$ADDON_DIR/libmagic_civ_physics.dylib"
echo "Copied → engine/addons/magic_civ_physics/libmagic_civ_physics.dylib"
;;
*)
echo "Unknown target $TARGET — skipping copy. Place .so/.dll manually in engine/addons/magic_civ_physics/"
;;
esac