Bare PHP behind FrankenPHP plus a Qt/QML host that spawns it. GET /api/ping publishes a Mercure event; the QML window receives it back over the SSE stream. Findings (Caddy directive ordering, Mercure transport scalar, PR_SET_PDEATHSIG for child cleanup, PHP 8.5 curl_close deprecation, port collision with system FrankenPHP, pure-QML SSE viability) are recorded in spike/README.md so Phase 1 starts from a known-good baseline. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
23 lines
652 B
Bash
Executable File
23 lines
652 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Build (if needed) and run the Phase 0 spike.
|
|
# Toolchain expected on PATH: cmake, qmake6 (or qmake from qt6-base-devel), g++.
|
|
set -euo pipefail
|
|
|
|
SPIKE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
BUILD_DIR="$SPIKE_DIR/build"
|
|
BIN="$BUILD_DIR/spike"
|
|
|
|
if [ ! -x "$SPIKE_DIR/bin/frankenphp" ]; then
|
|
echo "missing $SPIKE_DIR/bin/frankenphp — run download from spike/README.md" >&2
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -x "$BIN" ]; then
|
|
echo "==> configuring + building Qt host"
|
|
cmake -S "$SPIKE_DIR/qt" -B "$BUILD_DIR" -DCMAKE_BUILD_TYPE=Debug
|
|
cmake --build "$BUILD_DIR" --parallel
|
|
fi
|
|
|
|
echo "==> launching spike"
|
|
exec "$BIN"
|