Four unrelated but equally small build-tree fixes, none of which changes what
any binary does:
* fpga/hls: `fpga/include/` holds the vendored Xilinx `ap_int`/`ap_fixed`
headers. Included with a plain `-I` they emit 790 default-visible
`-Wdeprecated-enum-enum-conversion` warnings across the targets that consume
them - every warning a developer sees in a build of the receiver, the broker,
the tests or the HLS simulation comes from that one header. `SYSTEM`
propagates as `-isystem`, silencing the vendored header while leaving warnings
in our own HLS sources visible. Measured on one HLS source: 78 -> 0 at default
flags, 289 -> 56 under -Wall.
* compression: `zstd/lib` was the old in-tree vendored location, gone from the
tree since zstd moved to FetchContent. It stays harmless only while nothing
sits there; a checkout with a leftover `compression/zstd/` puts that copy's
internal headers (`common/huf.h`, `common/mem.h`) ahead of the fetched zstd
the library actually links. The fetched zstd already exports its `lib/` root,
so dropping the entry is all that is needed.
* xds-plugin: `target_link_options(... --exclude-libs,ALL)` was applied twice,
once unconditionally and once guarded by `if(UNIX AND NOT APPLE)`. Keep the
guarded one.
* xds-plugin's install rule uses `CMAKE_INSTALL_LIBDIR`, which was only ever set
as a side effect of a fetched dependency including GNUInstallDirs first.
Include it at the top level, where it belongs.
* broker: `redoc-static.html` was installed to `<prefix>/jfjoch/frontend/`, a
path nothing serves - the broker mounts its frontend from
`share/jfjoch/frontend`, whose copy of the API reference is `dist/openapi.html`
written by `npm run redocly`, while `redoc-static.html` itself reaches the
bundle through Sphinx's `html_static_path`.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011GxZqDiFP3KqriBhNdcR56