blob: 6027e754e7fa27242d42a66ae73bc39918a5f207 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
#!/usr/bin/env bash
# Build and run the Forts Clone inside a podman container.
# Usage: ./scripts/build.sh [--shell]
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
IMAGE_NAME="forts-clone-dev"
cd "$PROJECT_DIR"
# Build container image (cached)
echo "==> Building container image..."
podman build -t "$IMAGE_NAME" .
if [ "${1:-}" = "--shell" ]; then
echo "==> Starting shell in container..."
exec podman run -it --rm \
-v "$PROJECT_DIR":/src:Z \
--userns=keep-id \
"$IMAGE_NAME" \
bash
else
echo "==> Configuring and building..."
podman run -it --rm \
-v "$PROJECT_DIR":/src:Z \
--userns=keep-id \
"$IMAGE_NAME" \
bash -c "
meson setup builddir \
--buildtype=debugoptimized \
-Dwarning_level=3 \
-Dcpp_std=c++20 \
--wipe
meson compile -C builddir -j$(nproc)
"
echo
echo "==> Build complete. Run with: ./builddir/forts-clone"
fi
|