45 lines
1.0 KiB
Bash
Executable File
45 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
# Individual build scripts
|
|
|
|
build_gui() {
|
|
echo "==> Building GUI binary..."
|
|
|
|
# Build frontend
|
|
cd frontend && npm run build && cd ..
|
|
|
|
# Copy frontend dist to Wails embed directory
|
|
cp -r frontend/dist/* cmd/verstak-gui/frontend-dist/
|
|
|
|
# Build Go binary with Wails v2
|
|
# Tags: webkit2_41 required for WebKitGTK 2.41+, desktop/production for Wails
|
|
go build -tags "webkit2_41 desktop production" -ldflags="-s -w" -o build/verstak-gui-linux-amd64 ./cmd/verstak-gui/
|
|
|
|
echo "==> GUI binary: build/verstak-gui-linux-amd64"
|
|
}
|
|
|
|
build_server() {
|
|
echo "==> Building server binary..."
|
|
go build -ldflags="-s -w" -o build/verstak-server-linux-amd64 ./cmd/verstak-server/
|
|
echo "==> Server binary: build/verstak-server-linux-amd64"
|
|
}
|
|
|
|
build_all() {
|
|
mkdir -p build
|
|
build_gui
|
|
build_server
|
|
echo "==> All binaries built."
|
|
ls -lh build/
|
|
}
|
|
|
|
case "${1:-all}" in
|
|
gui) build_gui ;;
|
|
server) build_server ;;
|
|
all) build_all ;;
|
|
*)
|
|
echo "Usage: $0 [gui|server|all]"
|
|
exit 1
|
|
;;
|
|
esac
|