From 3ec03ba57474aa4320cb7901980b55706adbc111 Mon Sep 17 00:00:00 2001 From: LLLL Colonq Date: Tue, 21 Jul 2026 13:53:20 -0400 Subject: Update --- .../threecoff/clennis/scripts/build-web.sh | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100755 2026/submissions/threecoff/clennis/scripts/build-web.sh (limited to '2026/submissions/threecoff/clennis/scripts/build-web.sh') diff --git a/2026/submissions/threecoff/clennis/scripts/build-web.sh b/2026/submissions/threecoff/clennis/scripts/build-web.sh new file mode 100755 index 0000000..12ca74b --- /dev/null +++ b/2026/submissions/threecoff/clennis/scripts/build-web.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash +# Configure + build the WebAssembly version into ./build-web (tennis.html/.js/.wasm) +set -euo pipefail + +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" +cd "$ROOT" + +# Activate the project-local Emscripten SDK if the caller hasn't already. +if ! command -v emcc >/dev/null 2>&1; then + if [ -f "$ROOT/vendor/emsdk/emsdk_env.sh" ]; then + # shellcheck disable=SC1091 + source "$ROOT/vendor/emsdk/emsdk_env.sh" + else + echo "error: emcc not found and vendor/emsdk missing. Run scripts/setup-emsdk.sh first." >&2 + exit 1 + fi +fi + +# CMake/emscripten intermediates live in build/web; only the runtime files +# (index/tennis.html, tennis.js, tennis.wasm, tennis.data) land in build-web. +emcmake cmake -B build/web -DPLATFORM=Web -DCMAKE_BUILD_TYPE=Release +cmake --build build/web -j"$(nproc)" +cmake --install build/web --prefix build-web --component web >/dev/null + +echo +echo ">> Built build-web/tennis.html (+ index.html copy) — serve it" +echo " (COOP/COEP not required; ports below 1024 need root) with e.g.:" +echo " python -m http.server -d build-web 8000" +echo " then open http://localhost:8000/" -- cgit v1.3.1