Find libmosquitto and ship it in release packages (iteration 2, step 1)

cmake/Mosquitto.cmake finds it through pkg-config; with
FRAMEASSISTANT_SHIP_MOSQUITTO=ON (all package presets) it installs
lib/libmosquitto.so.1 and Debian's copyright file and excludes the
library from the Qt bundler (D35). The build containers get
libmosquitto-dev, the test container the mosquitto broker.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-06 14:44:20 +02:00
co-authored by Claude Opus 5.5
parent 7810db5cbe
commit e0229d6647
12 changed files with 74 additions and 6 deletions
+3
View File
@@ -153,6 +153,9 @@ sequenceDiagram
- `libopenvr_api.so` next to the executable
- install rules and registration for Qt bundling
- the check against SteamVR process names
- **`cmake/Mosquitto.cmake`** (app, not platform) finds libmosquitto through pkg-config. With
`FRAMEASSISTANT_SHIP_MOSQUITTO=ON` (all package presets) it installs the library into `lib/`
under its soname plus Debian's copyright file, and excludes it from the Qt bundler.
- **App identity** (root `CMakeLists.txt`): `project()` name and version, `VRDASH_APP_KEY`,
`VRDASH_DISPLAY_NAME`, `VRDASH_EXECUTABLE_NAME`, texture size. CMake generates from them
`AppConfig.h` and the SteamVR manifest, with `binary_path_linux_arm` for ARM builds and
+11 -2
View File
@@ -22,8 +22,9 @@ CLAUDE.md ("Working rules").
The error itself is covered off the device by `tst_config`. Checks 3 and 4 run in the next
session on the Frame (iteration 2 testing needs it too).
- **Implementation** follows the order in DESIGN.md (steps 1–7); step 1: libmosquitto in
CMake and the containers.
- **Implementation** follows the order in DESIGN.md (steps 1–7). Step 1 (libmosquitto in
CMake and the containers) done; next: step 2 (`MqttClient`, `MosquittoClient`,
integration test).
## Next steps
@@ -124,6 +125,14 @@ Known limitation: the bundled-Qt package does not support WebEngine in this iter
- Design of iteration 2 written (DESIGN.md). User's decisions: libmosquitto's own thread
(D42), app commands in the platform for `--ha-remove` (D43), committed TLS test
certificates (D44). Design approved; phase 3 started.
- Step 1: `cmake/Mosquitto.cmake` (pkg-config; `FRAMEASSISTANT_SHIP_MOSQUITTO=ON` in all
package presets installs `lib/libmosquitto.so.1` and Debian's copyright file, which already
contains the EPL-2.0/EDL-1.0 texts); `libmosquitto-dev(:arm64)` in the build containers,
`mosquitto` in the test container; THIRD_PARTY_NOTICES entry. Checked: host configure finds
2.1.2; `container-test.sh` 8/8, no Vulkan validation messages; the cross build stages
2.0.21 (aarch64) and the copyright file. The binary doesn't need the library yet (nothing
calls it; `--as-needed`), which changes in step 2. On the host, the GUI tests can't run in
this session (no display).
### 2026-10-05: requirements approved