Build: the BT_GLASS/BT_STEAM compile gates -- glass-cockpit dev-layer scaffolding

Step 1 of the desktop developer layer: option(BT_GLASS OFF) + option(BT_STEAM OFF)
(BT_STEAM requires BT_GLASS, configure-time FATAL_ERROR), defines flow to all three
targets via BT_DEFS. Defaults build = the pure pod game, verified: 3-config configure
matrix + negative test + defaults Debug build (known mech3 /FORCE externals only).
New topic context/glass-cockpit.md + ledger docs/GLASS_COCKPIT.md; router rows added.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Cyd
2026-07-17 21:48:35 -05:00
co-authored by Claude Fable 5
parent e2c21c4db2
commit 3f49915d76
5 changed files with 108 additions and 1 deletions
+21
View File
@@ -0,0 +1,21 @@
# GLASS_COCKPIT — running ledger (desktop developer layer)
Detailed running log for the `glass-cockpit` branch work: PadRIO, on-screen panel/plasma,
miniconsole, Steam transport/lobby. Curated digest: `context/glass-cockpit.md` (read that
first); this file carries the step-by-step detail, evidence, and verification transcripts.
---
## 2026-07-17 — Step 1: branch + compile gates + scaffolding
- Branch `glass-cockpit` created from master @ `e2c21c4`.
- `CMakeLists.txt`: `option(BT_GLASS OFF)` + `option(BT_STEAM OFF)`; `BT_STEAM` without
`BT_GLASS` is a configure-time FATAL_ERROR; gates append to `BT_DEFS` (flows to all three
targets); `STATUS` line prints gate state at configure. Gated `target_sources` blocks will be
added per-TU as they land (CMake would reject nonexistent source files now).
- `.gitignore`: `build-pod/`, `build-steam/`, `content/bindings.txt`, `content/frontend.egg`,
`content/steam_appid.txt`.
- Verification (this step): defaults configure prints `BT_GLASS=OFF BT_STEAM=OFF` and builds
(purity build); `-DBT_GLASS=ON` and ON/ON configures print correct gate state; the
BT_STEAM-without-BT_GLASS negative test FATAL_ERRORs. Full 3-config BUILD matrix becomes
meaningful from step 2 (first gated code) and is re-run there.