39 Commits

Author SHA1 Message Date
Martino Ferrari 2d5ca20ae4 minor changes and addeed debug tests 2026-07-02 16:27:40 +02:00
Martino Ferrari f2042d624b Implemented full e2e testing 2026-07-02 10:10:57 +02:00
Martino Ferrari f8c79131c9 docs: refresh run_e2e.sh flag list in AGENTS.md
Task 7 added --skip-coverage/--skip-stress/--skip-datasources/
--skip-recorder/--skip-debug/--skip-tcplogger but the AGENTS.md table row
was never updated to mention them; it also still listed a --stress flag
that has never existed. Sync with the script's actual --help output.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-02 00:04:22 +02:00
Martino Ferrari 28d149f536 fix(e2e): assert real FORCE/TRACE/BREAK acks in the debug scenario
The final whole-branch review found runDebugScript only checked
mc.IsConnected() after sending FORCE/TRACE/BREAK/UNFORCE -- a liveness
check that would PASS even if DebugService silently no-op'd every command
(e.g. a signal-name/wire-format bug), undercutting the design's stated
rationale for this scenario ("catching wire-format/serialization bugs the
in-process suite cannot"). This mirrors the tautology already fixed for
the tcplogger scenario in an earlier task, but had not been applied here.

Added waitForAck(), which polls the sink's recorded "text_line" events for
DebugServiceBase::HandleCommand's real "OK <TOKEN> <count>\n" reply and
requires count > 0 -- HandleCommand prints this for every one of
FORCE/UNFORCE/TRACE/BREAK regardless of enable/disable direction, and
count is always "number of signals actually matched", so count==0 means
the signal path was never resolved. Verified with a real negative control
(temporarily pointing all commands at a nonexistent signal name): the
scenario now correctly FAILs, then reverted and reconfirmed PASS against
the real signal.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-02 00:03:47 +02:00
Martino Ferrari 9a39cf923a fix(e2e): isolate coverage-pass WORK dir; filter chain-only e2e report section
The final whole-branch review (post Task 10) found two real cross-task
integration bugs:

- run_e2e.sh's coverage-instrumented scenario re-run only rebound OUT_DIR
  in its subshell, not WORK. proc_perf.py/plots.py write perf_*.json and
  wave_*.png into WORK, so every --cpp-coverage run (the default) silently
  clobbered the primary pass's perf/waveform data with the instrumented
  re-run's numbers before report_build.py read them -- defeating the
  "uncontaminated performance metrics" goal of the coverage-double-run
  design. Fixed by rebinding WORK the same way OUT_DIR already was.

- report_build.py's build_e2e() iterated all results["scenarios"] with no
  kind filter, so the direct/recorder/debug/tcplogger scenarios (already
  covered by their own dedicated report sections since Task 8) also leaked
  into the chain-only Scenarios/Performance sections and headline e2e
  pass/fail count as degenerate rows. Fixed by filtering to kind=="chain".

Verified end-to-end with a full ./run_e2e.sh run: coverage pass now writes
to /tmp/chain_e2e/coverage_pass/ (confirmed via log), and report_data.json's
e2e section now reports 51 (chain-only) scenarios instead of all 56.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-01 23:59:54 +02:00
Martino Ferrari 07b6b4898a fix(e2e): rebuild test binaries when restoring non-instrumented build
The post-coverage restore step ran `make clean` (which also wipes
Test/GTest, Test/Integration and Test/Components/*) but only rebuilt
`core apps`, leaving MainGTest.ex/IntegrationTests.ex deleted after
every --cpp-coverage run instead of restored to their plain (non-gcov)
form.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-01 22:55:48 +02:00
Martino Ferrari 03c7a95e9b docs: fix stale run_combined_test.sh comment in combined_test.cfg
Minor follow-up from Task 9's retirement review.
2026-07-01 22:08:21 +02:00
Martino Ferrari 45dcb9a71f docs: fix remaining dangling references to retired run_e2e_test.sh
README.md and Docs/StreamHub-Developer.md still pointed at the deleted
run_e2e_test.sh / Test/E2E/streamhub Go client after their removal in the
previous commit; repoint at Test/E2E/suite/run_e2e.sh.
2026-07-01 22:05:29 +02:00
Martino Ferrari 4286ea4539 chore(e2e): retire streamhub/datasources/recorder standalone scripts superseded by run_e2e.sh 2026-07-01 22:04:08 +02:00
Martino Ferrari 8337d678be feat(e2e): render direct/recorder/debug/tcplogger/stress sections in the unified report
Extends report_build.py with build_by_kind() (per-scenario-kind pass/fail
rollup) and a ported build_stress()/stress_headline()/stress_plots() (scaling
curves per stress axis), wires both into the headline KPIs, regression
tracking, and report_data.json. E2E_Report.typ renders the four new
per-kind tables plus a Stress Tests section (per-axis case tables + scaling
plots, gracefully degrading to placeholders when a kind/stress data is
absent). run_e2e.sh now passes --stress-results so the report actually
receives real stress data instead of silently omitting it.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-01 21:57:11 +02:00
Martino Ferrari b65ac06ce2 feat(e2e): instrument-first coverage flow with double-run + new skip flags; port stress multi-fragment sizing 2026-07-01 21:07:03 +02:00
Martino Ferrari 83d0a060fe feat(e2e): add debug/tcplogger E2E scenario kinds using debugclient
Adds a trimmed debug_e2e.cfg (DebugService on 8080/8081, TcpLogger on
9090) and two new scenarios (s55_debug_force_trace_break, kind=debug;
s56_tcplogger_delivery, kind=tcplogger) reusing it, with matching
run_e2e.sh scenario-list/dispatch wiring and debugclient build steps.

Also fixes a real bug found while wiring s56: debugclient's tcplogger
check was tautological (it matched MarteController's own local
"CMD"-level echo of the outgoing command, which contains the same text
as the triggered event, instead of a line actually delivered over the
real TCPLogger TCP socket) and its trigger command (an invalid FORCE)
never reaches DebugServiceBase's REPORT_ERROR at all. Switched the
trigger to a MSG-to-missing-destination command (which does call
REPORT_ERROR) and the match to require the real log text
("not found in ORD"), recorded only after a connect-settle baseline —
verified with a positive run (real Warning-level TCPLogger line
received) and a negative control (LogPort=0 disables TcpLogger and the
scenario correctly FAILs).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-01 19:36:47 +02:00
Martino Ferrari efb4ea48fb feat(e2e): add debugclient Go tool for DebugService/TCPLogger E2E scenarios
Standalone headless client that drives a running MARTeApp.ex's
DebugService (TCP 8080 commands, UDP 8081 trace) and TCPLogger (TCP
9090) via marte2debugger/controller's NewHeadlessMarteController, for
the upcoming Test/E2E/suite "debug"/"tcplogger" scenario kinds. Scripts
FORCE/TRACE/BREAK for -mode debug, and triggers+waits for a TCPLogger
log event for -mode tcplogger; reports PASS/FAIL as
result_<scenario>.json/status_<scenario>.txt in -out.
2026-07-01 19:18:34 +02:00
Martino Ferrari f0f83110a4 fix(debugger): extract MarteController into an importable controller package
Client/debugger was entirely package main, which Go forbids importing from
another module ("is a program, not an importable package") -- discovered
while wiring the new debugclient E2E tool against NewHeadlessMarteController.
Move martecontrol.go and its test into a new marte2debugger/controller
subpackage (package controller) and update Client/debugger/main.go to call
controller.NewMarteController/controller.DangerousCommandsEnabled. No
behavioral change to the browser-facing server.
2026-07-01 19:18:08 +02:00
Martino Ferrari 269b2c4d97 refactor(debugger): extract MarteController sink so it can run headless
Add a sink func(v any) field so MarteController's event stream can be
routed somewhere other than the browser WebSocket hub. NewMarteController
now sets sink to broadcast through the hub as before; a new
NewHeadlessMarteController(sink) constructor builds an instance with
hub == nil for the upcoming debugclient E2E tool. Direct m.hub.* calls
(SetSourceState/UpdateConfigForSource/PushDataForSource) are now guarded
with nil checks so a headless controller doesn't panic.
2026-07-01 19:12:41 +02:00
Martino Ferrari 1d78b45963 feat(e2e): dispatch direct/recorder scenario kinds in run_e2e.sh
Extends the scenario-list builder and main loop to actually execute
s52_direct_unicast/s53_direct_multicast (self-contained single-MARTeApp
FileReader->UDPStreamer->UDPStreamerClient->FileWriter round trip) and
s54_recorder (StreamHub BinaryRecorder round trip, ported from
run_recorder_e2e.sh) alongside the existing chain scenarios, and tags
each results.json record with its scenario kind.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-01 19:06:30 +02:00
Martino Ferrari ef58553c63 feat(e2e): add kind discriminator + direct/recorder scenario definitions 2026-07-01 18:51:18 +02:00
Martino Ferrari 69e52af20b refactor(e2e): rename Test/E2E/chain -> Test/E2E/suite, run_chain_e2e.sh -> run_e2e.sh 2026-07-01 18:42:33 +02:00
Martino Ferrari 1fcc4e4e6d fix(streamhub-test): unblock make test by fixing BoundsCheckTest C++98 build and registering both orphaned GTest files 2026-07-01 18:34:16 +02:00
Martino Ferrari 462b05b71a docs(testing): implementation plan for unified test/E2E/reporting/coverage pipeline
Plan derived from the approved 2026-07-01 design spec; covers scenario
kind unification (chain/direct/recorder/debug/tcplogger), instrument-first
double-run coverage, and DebugService/TCPLogger E2E via debugclient.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-01 18:29:29 +02:00
Martino Ferrari dcaa466736 docs(testing): design for unified test/E2E/reporting/coverage pipeline
Consolidates the fragmented chain/stress/streamhub/datasources/recorder
E2E suites, unit-test collection, and coverage into one entry point and
one report, adds new DebugService/TCPLogger E2E coverage, and fixes the
Test/Applications/StreamHub build break blocking `make test`.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-01 18:14:09 +02:00
Martino Ferrari 0bea41f866 Implemented better testing and fixed skipepd frames 2026-07-01 16:39:34 +02:00
Martino Ferrari 7a326c5d78 test(gtest): wire DebugServiceGTest into the shared MainGTest binary
Add DebugServiceGTest.cpp (TraceRingBuffer, DebugSignalInfo, BreakOp
regression coverage for the HI-4/HI-9 fixes) to Test/GTest's OBJSX so it
builds and runs as part of ./Build/x86-linux/GTest/MainGTest.ex alongside
the rest of the unit suite. 17/17 tests pass.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-01 09:34:20 +02:00
Martino Ferrari 036dd4a656 docs(e2e-stress): implementation plan for stress suite report integration
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-26 09:11:19 +02:00
Martino Ferrari 4702d0a217 Implemented qt port + e2e 2026-06-26 09:11:10 +02:00
Martino Ferrari 0d7d8f396b docs(e2e-stress): design for stress suite report integration
Track the existing (untracked) stress matrix, extend the signal-size axis
into the multi-fragment regime now that the UDPSClient reassembly cap is
1 MiB, and wire stress results into the E2E PDF report via an opt-in
--stress flag (table + per-axis scaling curves + regression vs prior run).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-26 09:05:21 +02:00
Martino Ferrari f256a4def5 test(e2e-chain): orchestrator + end-to-end fixes (Task 7)
Full-chain orchestrator (run_chain_e2e.sh) now runs the starter set green
(3 pass). Fixes found bringing the chain up end-to-end:

- client: gorilla/websocket cannot survive a read deadline (next ReadMessage
  panics "repeated read on failed connection"); replace the poll-with-deadline
  loop with a background reader goroutine + mutex-guarded state.
- orchestrator: guard env.sh's unbound LD_LIBRARY_PATH under set -u.
- scenarios/gen_data: centralize NUM_ROWS/ROW_DT and enforce sine freq to be a
  multiple of the buffer fundamental (LOOP_HZ=5 Hz) so the looped FileReader
  buffer is a seamless waveform; align starter freqs (5/5/10 Hz).
- gen_cfg: FileReader allows exactly one consuming Function, so route tapped
  (oracle=fed/both) sources through the DDB (ReaderGAM->DDB, then StreamGAM and
  TapGAM both read DDB) instead of a second FileReader consumer.
- validate_waveform: fidelity gates correctness (bit-exact / within one quant
  level); sine shape becomes a gross frequency-sanity gate (corr>=0.5) plus a
  tracked corr/nRMSE quality metric, since per-sample wall-clock calibration
  (Phase-A) and FULL_ARRAY packed timestamps (Phase-A4) are still pending.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-25 13:11:35 +02:00
Martino Ferrari d4fa84d482 test(e2e-chain): report plot generation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-25 09:07:13 +02:00
Martino Ferrari d35a78778e test(e2e-chain): per-effect waveform validator
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-25 09:05:56 +02:00
Martino Ferrari aa6679f1a7 test(e2e-chain): Go mock client (record + zoom/window/trigger)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-25 09:04:04 +02:00
Martino Ferrari f146fc1016 test(e2e-chain): MARTe + StreamHub config generator
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-25 09:01:20 +02:00
Martino Ferrari 10dec4c5d2 test(e2e-chain): deterministic typed/shaped data generator
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-25 08:58:49 +02:00
Martino Ferrari 0ab49078cc test(e2e-chain): scenario model + starter scenarios
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-25 08:56:57 +02:00
Martino Ferrari f46b2dfb14 test(streamhub): add binary recorder E2E scenario
End-to-end test streaming three float32 signals via a MARTe2 UDPStreamer
app into a standalone StreamHub with the recorder enabled, then validating
the recorded FileWriter-compatible .bin against the streamed input with
validate_binary.py. All recorded rows are byte-identical to input rows.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-25 01:20:16 +02:00
Martino Ferrari 8664b24e82 chore(streamhub): add disabled +Recorder block to run_streamhub.sh demo cfg
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-25 01:13:54 +02:00
Martino Ferrari 19e649aa38 feat(streamhub): parse +Recorder config and add recorder WS commands
Parse the optional +Recorder block in Initialise (Enabled/AutoStart/
Directory/MaxFileMB/KeepFiles/StagingMB/FlushIntervalSec/MinDiskFreeMB/
Signals, MB->bytes), apply it to each session before Start (static and
dynamic sources). Drive recorder disk I/O from the push loop via
RecorderFlushTick, and add recStart/recStop/recInfo WS commands plus a
recStatus broadcast/snapshot.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-25 01:13:23 +02:00
Martino Ferrari 93fc11c88f feat(streamhub): wire BinaryRecorder into UDPSourceSession
Each session owns a BinaryRecorder. The receive thread configures the
recorder layout at CONFIG time and captures each data packet; the push
thread performs all file I/O via RecorderFlushTick. WS subset overrides
are adopted through an epoch-deferred handoff mirroring the trigger path.
Arm/disarm/flush/info are exposed for StreamHub-level control.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-25 01:10:27 +02:00
Martino Ferrari 0ae35d11ff feat(streamhub): BinaryRecorder core (header, encode, rows, flush, rotation)
Add a FileWriter-compatible per-source binary recorder: native-type encode
and TypeDescriptor mapping, FileWriter header serialization, subset/quantized/
ACCUMULATE row serialization, and push-thread double-buffer flush with size-cap
rotation, keep-N pruning, fdatasync cadence, disk-free and staging-overflow
guards. Covered by 12 GTests; full suite (83) green.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-25 01:05:32 +02:00
Martino Ferrari e3b458ed94 Add implementation plan for StreamHub binary recorder
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-25 00:52:54 +02:00
227 changed files with 70987 additions and 2082 deletions
+313
View File
@@ -0,0 +1,313 @@
# AGENTS.md
Guide for agents working in the MARTe2 Integrated Components repository. Read
`ARCHITECTURE.md` and `CLAUDE.md` for deeper detail; this file focuses on
non-obvious knowledge, commands, and conventions that are not self-evident from
a single file read.
---
## Repository at a glance
MARTe2 component library with two independent real-time data paths:
1. **Streaming path**`UDPStreamer` DataSource (serialises signals to UDPS
binary packets on UDP 44500) → `StreamHub` (headless C++ hub: ring buffers,
LTTB decimation, trigger FSM, history writer) → WebSocket 8090 → clients
(browser SPA, native ImGui, native Qt).
2. **Debug path**`DebugService` Interface patches `ClassRegistryDatabase` at
`Initialise()` so `ConfigureApplication()` wraps all `MemoryMap*Broker` types
with `DebugBrokerWrapper<T>`. Zero application code changes. Exposes TCP 8080
(text commands), UDP 8081 (trace telemetry), TCP 8082 (`TcpLogger`).
Key shared artefact: `Common/UDP/UDPSProtocol.h` — the UDPS binary wire format
(17-byte packed header, 136-byte signal descriptors, little-endian). It is
deliberately MARTe2-free and is mirrored across **four** codebases that must stay
in sync: C++ producers (`UDPStreamer`, `DebugService`), C++ consumer
(`Source/Components/Interfaces/UDPStream/UDPSClient`), Go decoder
(`Common/Client/go/udpsprotocol`), and the JS client parsers. Any protocol
change must be mirrored in all of them.
StreamHub WebSocket protocol: JSON text frames for commands/events, binary
frames for data pushes (spec in `ARCHITECTURE.md` §6). The Go hub
(`Client/udpstreamer`) and the C++ StreamHub implement the identical protocol;
browser JS, ImGui, and Qt clients must stay compatible with both.
---
## Environment setup (do this first, always)
`source env.sh` is **required** before building *or* running anything. It sets:
- `MARTe2_DIR` (default `~/workspace/MARTe2`) and `MARTe2_Components_DIR`
(default `~/workspace/MARTe2-components`) — external dependencies, not in
this repo. Edit `env.sh` if your MARTe2 install lives elsewhere.
- `TARGET=x86-linux`
- `LD_LIBRARY_PATH` — prepends MARTe2 Core, MARTe2-components (LinuxTimer,
FileDataSource), and this repo's built `.so`s (UDPStreamer, SineArrayGAM,
TimeArrayGAM, DebugService, TCPLogger).
Without sourcing `env.sh`, builds fail (can't find `MakeDefaults`) and binaries
fail to load shared libs. The E2E scripts source it themselves, but a bare
`make` or `./MainGTest.ex` from a fresh shell will not.
---
## Build commands
All C++ builds use the MARTe2 `Makefile.gcc` wrapper system. There is one
top-level `Makefile.gcc` and one per component directory. `TARGET` defaults to
`x86-linux`; pass `TARGET=x86-linux` explicitly when invoking `make -C` from
elsewhere.
```bash
source env.sh
make -f Makefile.gcc core # all C++ MARTe2 components (UDPStreamer, GAMs, DebugService, TCPLogger, UDPStream)
make -f Makefile.gcc apps # StreamHub standalone app
make -f Makefile.gcc test # build GTest + Integration test binaries
make -f Makefile.gcc clean
make -f Makefile.gcc # = all: core apps test
# Build a single component (each component dir has its own Makefile.gcc):
make -C Source/Components/DataSources/UDPStreamer -f Makefile.gcc
make -C Source/Applications/StreamHub -f Makefile.gcc
```
Build output goes to `Build/x86-linux/` — shared libs under
`Build/x86-linux/Components/<...>/`, the StreamHub executable at
`Build/x86-linux/StreamHub/StreamHub.ex`, test binaries under
`Build/x86-linux/GTest/` and `Build/x86-linux/Test/Integration/`.
`compile_commands.json` is generated at the repo root (gitignored) for LSP /
clangd. The CMake-based clients (ImGui, Qt) also export it into their `build/`.
### Non-MARTe2 clients (separate build systems, no env.sh needed)
```bash
# Go clients (UDPS web client, debug client, E2E chain-client)
cd Common/Client/go && go build ./...
cd Client/debugger && go build ./...
cd Client/udpstreamer && go build ./... # or: cd Client/webui && go build
cd Test/E2E/suite/client && go build ./... # chain-client (E2E driver) + its tests
# ImGui desktop client (needs SDL2; fetches Dear ImGui + ImPlot via FetchContent)
cd Client/streamhub && cmake -B build -DCMAKE_BUILD_TYPE=Release && cmake --build build
# Qt desktop client (Qt5 or Qt6 Widgets + WebSockets; autodetects, prefers Qt6)
cd Client/streamhub-qt && cmake -B build && cmake --build build
```
---
## Run / test commands
### Unit & integration tests (C++)
```bash
./Build/x86-linux/GTest/MainGTest.ex # UDPStreamer unit tests
./Build/x86-linux/GTest/MainGTest.ex --gtest_filter='Name*' # single test
./Build/x86-linux/Test/Integration/Integration/IntegrationTests.ex # DebugService integration tests
```
### Go tests
```bash
cd Test/E2E/suite/client && go test ./...
```
### Python framework tests (E2E framework logic, no live stack needed)
```bash
cd Test/E2E/suite && python3 -m unittest tests_py
```
### E2E / demo scripts (build + launch the full stack)
| Script | What it does |
|---|---|
| `./run_streamhub.sh` | Launch MARTe2 app (UDPStreamer) + StreamHub, optionally web UI (`-w`) and ImGui client (`-g`). Ports documented in its header. |
| `./Test/E2E/suite/run_e2e.sh` | **Unified E2E suite**: per-scenario generates data + cfgs, runs MARTe2+StreamHub, drives the Go `chain-client` (live/zoom/window/trigger) for `chain` scenarios plus `direct`/`recorder`/`debug`/`tcplogger` scenario kinds, runs a stress matrix, unit suites + coverage, builds a Typst PDF report. Flags: `--skip-build`, `--only <id>`, `--pdf-only`, `--cpp-coverage`, `--skip-coverage`, `--skip-stress`, `--skip-datasources`, `--skip-recorder`, `--skip-debug`, `--skip-tcplogger`. |
| `./Test/E2E/suite/run_stress.sh` | **Capacity/stress harness**: sweeps one load axis at a time (signal size/count, subscriber fan-out, source count, WS-client count, zoom rate), gates on survival+liveness (hard) and RSS+zoom-p95 latency (soft). Flags: `--skip-build`, `--only <id>`, `--axis <axis>`. |
The E2E suite produces `Build/x86-linux/E2E/chain/` artifacts: `report_data.json`,
`history.jsonl` (per-run headline metrics for trend/regression tracking),
`trend_*.png` plots, and `E2E_Report.pdf` (compiled from `E2E_Report.typ` via
`typst`). `--cpp-coverage` triggers an instrumented `--coverage` rebuild, captures
with `lcov` (restricted to `Source/*` + `Test/*`), then restores a clean build.
---
## Code organization
```
Common/
UDP/UDPSProtocol.h # shared UDPS binary protocol (header-only, MARTe2-free)
Client/go/ # Go packages: udpsprotocol (decoder), wshub (WS hub client)
Source/
Components/ # MARTe2 components — NO STL allowed here
DataSources/UDPStreamer/ # real-time UDP signal streaming DataSource
DataSources/UDPStreamerClient/ # (MARTe2-side UDPS client DataSource)
GAMs/SineArrayGAM/ # sine-wave array generator GAM
GAMs/TimeArrayGAM/ # time-reference array GAM
Interfaces/DebugService/ # tracing/forcing/breakpoint Interface (registry-patched brokers)
Interfaces/TCPLogger/ # REPORT_ERROR → TCP forwarder (LoggerConsumerI)
Interfaces/UDPStream/ # UDPSClient/UDPSServer (C++ consumer/producer of UDPS)
Applications/StreamHub/ # headless C++ hub app (links MARTe2 core but follows MARTe2 style)
Client/
debugger/ # Go web client for DebugService (browser UI in static/)
udpstreamer/ # Go web server + static SPA for UDPStreamer (legacy direct-UDP path)
webui/ # Go StreamHub WebSocket web UI (newer, hub-based)
streamhub/ # native ImGui desktop client (SDL2 + OpenGL + ImPlot, C++17, no MARTe2)
streamhub-qt/ # native Qt Widgets desktop client (C++17, Qt5/Qt6, no MARTe2)
Test/
GTest/ # GTest harness (MainGTest.cpp) for UDPStreamer unit tests
Integration/ # DebugService integration tests (link against DebugService .so)
Components/DataSources/UDPStreamer/ # UDPStreamer unit test sources
Configurations/ # MARTe2 .cfg files for tests and demos
E2E/
chain/ # streaming-chain E2E + stress suite (Python orchestrator + Go client)
datasources/ recorder/ streamhub/ # older per-component E2E scripts
Docs/ # per-component reference docs (Protocol, UDPStreamer, StreamHub-*, DebugService, ...)
docs/superpowers/{specs,plans}/ # design specs + implementation plans (dated)
ARCHITECTURE.md # full architecture (data flow diagrams, protocol tables, WS protocol)
```
### Component layout convention
Every MARTe2 component directory contains:
- `Makefile.gcc` — thin wrapper (`TARGET = x86-linux` then `include Makefile.inc`).
- `Makefile.inc` — real build definition: `OBJSX`, `PACKAGE`, `INCLUDES`,
`LIBRARIES`, includes `$(MARTe2_DIR)/MakeDefaults/MakeStdLibDefs.$(TARGET)`
and `MakeStdLibRules.$(TARGET)`, and `depends.$(TARGET)`.
- `depends.x86-linux` / `dependsRaw.x86-linux` — generated header dependency
files (committed; regenerated by the build). Do not hand-edit.
- `<ClassName>.{h,cpp}` — the implementation, with `CLASS_REGISTER(ClassName,
"1.0")` at the bottom of the `.cpp` (MARTe2 class-registration macro).
To add a new component, copy an existing one and adapt `Makefile.inc`'s
`OBJSX` / `PACKAGE` / `INCLUDES` / `LIBRARIES`.
---
## Conventions and gotchas
### No STL in MARTe2 components
`Source/Components/**` must not use the C++ standard library. Use MARTe2 types:
`StreamString` (not `std::string`), `FastPollingMutexSem` (not `std::mutex`),
fixed arrays / `StaticList` (not `std::vector`), MARTe2 error macros
(`REPORT_ERROR`, `REPORT_ERROR_STATIC`) instead of exceptions. Includes come
from `$(MARTe2_DIR)/Source/Core/...` (BareMetal, Scheduler, FileSystem).
`Source/Applications/StreamHub/` links MARTe2 core and follows the same
no-STL-on-RT-paths style, but is a standalone app (not a loadable component).
STL / C++17 is **fine** in `Client/streamhub/` and `Client/streamhub-qt/`
(framework-free C++17, no MARTe2 dependency).
### RT hot-path mutex rule
Use `FastPollingMutexSem` on real-time hot paths — never OS mutexes
(`pthread_mutex`, `std::mutex`). The RT cycle must not block on the scheduler.
### Protocol change checklist
Changing `Common/UDP/UDPSProtocol.h` (or the Go mirror) requires mirroring
across all four consumers listed in §1, plus the JS client parsers in
`Client/udpstreamer/static/`. The Go decoder lives in
`Common/Client/go/udpsprotocol/protocol.go` and re-declares the constants
(`HeaderSize`, `SigDescSize`, packet types, quant types, time modes) — it does
**not** include the C header.
### Qt client: `QT_NO_KEYWORDS`
`Client/streamhub-qt/` reuses `../streamhub/Protocol.{h,cpp}` and
`SignalBuffer.h` verbatim. Those structs have members named `signals`, which
collide with Qt's `signals`/`slots`/`emit` macros. The Qt build sets
`QT_NO_KEYWORDS` and all Qt classes use `Q_SIGNALS:`/`Q_SLOTS:`/`Q_EMIT`. Do
not remove that define, and do not use the lowercase Qt keywords in Qt-client
code. Single GUI thread — `QWebSocket` signals arrive on the GUI thread, no
locks; a 60 Hz `QTimer` drives repaint. Run with long options:
`./build/StreamHubQtClient --host HOST --port 8090` (single-dash `-host` is
misparsed as clustered short flags).
### StreamHub history
`HistoryWriter` (`Source/Applications/StreamHub/HistoryWriter.{h,cpp}`) does
disk-backed circular storage: per-signal `.shist` files with a 64-byte header
and a pre-allocated circular region of `(float64 time, float64 value)` pairs.
Configured via a `+History` block (`Directory` required; `DurationHours`
default 1, `Decimation` default 1, `FlushIntervalSec` default 5,
`MinDiskFreeMB` default 500). WS commands: `historyInfo`, `historyZoom`.
### E2E scenario / stress matrix
`Test/E2E/suite/scenarios.py` is a *curated covering set*: every configurable
UDPStreamer option value appears in at least one scenario, plus high-risk
interactions. `stress.py` is the capacity sibling — it sweeps one load axis at
a time and records survival/liveness (hard gates) and RSS/zoom-p95 latency
(soft gates). Both feed the same `gen_data.py` / `gen_cfg.py` generators. When
adding a new UDPStreamer option, add a scenario that exercises it and update
`validate_scenario` / the stress matrix accordingly.
`validate_waveform.py` has two gates: **fidelity** (every received value within
`tol` of some ground-truth value; `tol` is 0 for un-quantised ints, a float
epsilon for un-quantised floats, `quant_step/2 + 1e-6·range` for quantised
floats) — this is the **correctness** gate. **Shape** (least-squares sine fit,
correlation ≥ 0.99) is a gross-sanity gate + tracked metric, pending Phase-A
timestamp calibration. Do not tighten the shape gate to a correctness gate.
### Gitignored build artefacts
`Build/`, `compile_commands.json`, `*.gcov`/`*.gcda`/`*.gcno` (coverage), Go
binaries (`Client/*/marte2debugger`, `udpstreamer-webui`, `streamhub-e2e`,
`Client/*/bin/`), and the `udp_standalone_webui/` scratch dir are all
gitignored. `vgore.*` core dumps (e.g. `vgcore.26968`) are not — remove them.
---
## Documentation map
- `ARCHITECTURE.md` — full architecture: data-flow diagrams, UDPS packet/header
tables, CONFIG payload, StreamHub WebSocket protocol (commands, events,
binary frames), threading model.
- `Docs/` — per-component reference docs (`Protocol.md`, `UDPStreamer.md`,
`SineArrayGAM.md`, `DebugService.md`, `StreamHub-{UserGuide,API,Developer}.md`,
`Tutorial.md`, `WebUI.md`).
- `docs/superpowers/specs/` — design specs (dated, e.g.
`2026-06-26-stress-suite-report-integration-design.md`).
- `docs/superpowers/plans/` — implementation plans paired with specs.
- `.superpowers/sdd/` — task briefs, reports, and a `progress.md` ledger for
in-flight feature work (not always present; per-branch).
- `README.md` — high-level overview + quick-start config snippets.
- `CLAUDE.md` — condensed agent guidance (overlaps with this file).
---
## Ports reference (defaults)
| Port | Protocol | Component | Purpose |
|------|----------|-----------|---------|
| 44500 | UDP | UDPStreamer | scalar signals (unicast control) |
| 44501 | UDP | UDPStreamer | packed arrays (FirstSample/LastSample) |
| 44502 | UDP | UDPStreamer | packed arrays (FullArray) |
| 44503 | UDP | UDPStreamer | multicast data (group 239.0.0.1) |
| 8080 | TCP | DebugService | text command channel |
| 8081 | UDP | DebugService | trace telemetry stream |
| 8082 | TCP | TcpLogger | REPORT_ERROR log forward |
| 8090 | TCP/WS | StreamHub | WebSocket (commands + binary data) |
| 8080 | TCP | udpstreamer-webui | web UI listen (legacy direct-UDP path) |
| 9090 | TCP | debugger | debug web UI listen |
Note the 8080 collision: DebugService control vs. the legacy web UI listen port.
In combined demos that run both, the scripts adjust one of them — check the
script header before assuming.
---
## License
EUPL v1.1 — license headers are present on all C++ sources. Preserve them on
new files; do not relicense.
+63
View File
@@ -498,6 +498,69 @@ cmake --build build -j$(nproc)
--- ---
## 7b. Qt Desktop Client
`Client/streamhub-qt/` is a **native Qt Widgets desktop oscilloscope** — a
feature/UX-equivalent alternative to the ImGui client, speaking the identical
StreamHub WebSocket protocol. It targets deployments that prefer a system Qt
runtime over bundled ImGui/SDL2/OpenGL, and it builds against either Qt6
(preferred) or Qt5 for old-Linux back-compatibility.
### Technology Stack
| Component | Library | Notes |
|-----------|---------|-------|
| UI framework | Qt Widgets | Autodetect Qt6 → Qt5 via `find_package(QT NAMES Qt6 Qt5 ...)`, then `Qt${QT_VERSION_MAJOR}::` targets |
| Time-series plots | Custom `QPainter` (`PlotWidget`) | No QtCharts/QCustomPlot — for ImPlot parity, zero extra deps, EUPL-clean |
| WebSocket client | `QtWebSockets` `QWebSocket` (`WsClient`) | Signals delivered on the GUI thread |
| Wire layer | Reused verbatim from `../streamhub/` | `Protocol.{h,cpp}`, `SignalBuffer.h` (framework-free C++17) |
### Threading & keyword model
- **Single GUI thread.** `QWebSocket` text/binary signals arrive on the GUI
thread, so no locks are needed (unlike the ImGui client's background receive
thread + drain). A 60 Hz `QTimer` (16 ms) drives repaint and panel refresh.
- **`QT_NO_KEYWORDS`.** The reused `Protocol.h`/`Model.h` structs have members
named `signals` (e.g. `ZoomResponse::signals`), which collide with Qt's
`signals`/`slots`/`emit` macros. The build defines `QT_NO_KEYWORDS`; all Qt
classes here use `Q_SIGNALS:` / `Q_SLOTS:` / `Q_EMIT` instead. This keeps the
shared wire layer unmodified.
### Components
| File | Responsibility |
|------|----------------|
| `Hub.{h,cpp}` | Domain model + command builders; owns `WsClient`; re-emits parsed events as Qt signals |
| `WsClient.{h,cpp}` | `QWebSocket` wrapper; auto-reconnect (3 s timer) |
| `PlotWidget.{h,cpp}` | One QPainter plot; live/stored/trigger modes, cursors, zoom cache |
| `PlotGrid.{h,cpp}` | Persistent pool of 8 `PlotWidget`s mounted into nested `QSplitter`s per layout |
| `SourceSidebar.{h,cpp}` | `QTreeWidget` of sources/signals; drag source = mime `application/x-shq-signal` carrying `qint32[2]` {srcIdx, sigIdx} (LittleEndian) |
| `TriggerBar.{h,cpp}` | Trigger config/arm controls + state badge |
| `StatsDialog.{h,cpp}` | Per-source stats table + 20-bin QPainter histogram |
| `HistoryBar.{h,cpp}` | Live / pan / jump-ago / show-all history navigation |
| `MainWindow.{h,cpp}` | Toolbars, docks, layout menu, connection controls, 60 Hz tick |
### Build & run
```bash
cd Client/streamhub-qt
cmake -B build # autodetects Qt6, falls back to Qt5
cmake --build build -j$(nproc)
# Produces: build/StreamHubQtClient
# Run (StreamHub must already be running on port 8090)
./build/StreamHubQtClient --host 127.0.0.1 --port 8090
```
> Use long `--host`/`--port` (or short `-H`/`-p`). A single-dash `-host` is
> misparsed by `QCommandLineParser` as clustered short flags.
Verified: builds and links cleanly against both Qt6 (6.11) and Qt5 (5.15); the
Qt6 binary connects to a live StreamHub (server logs *"WebSocket client
connected"*) and runs without error.
---
## 8. Go Client Packages ## 8. Go Client Packages
### `Common/Client/go/udpsprotocol` ### `Common/Client/go/udpsprotocol`
+221
View File
@@ -0,0 +1,221 @@
# Bug Fix Plan — Security & Correctness Remediation
**Date:** 2026-06-26
**Based on:** `BUG_REPORT.md`
**Scope:** `Source/` and `Client/`
This plan organizes the ~60 findings from the audit into prioritized, dependency-ordered phases. Each phase is independently shippable. Phases are ordered by risk reduction: Critical remote-exploitable issues first, then High crash/OOB issues, then Medium robustness/DoS, then Low hardening.
---
## Guiding principles
1. **Fix root causes, not symptoms.** The integer-overflow-in-bounds-check pattern appears in 6+ places — fix the pattern, not each instance ad hoc. Introduce a shared `boundsCheck(off, count, elemBytes, bufLen)` helper (C++) and a `validateCount(count, elemSize, bufLen)` helper (Go) and use them everywhere.
2. **Defense in depth.** Origin checks + auth + input validation — not just one layer.
3. **No regressions.** After each phase, run the existing test suites (`make -f Makefile.gcc test`, `python3 -m unittest tests_py`, `go test ./...` in each Go module) and the E2E suite (`./Test/E2E/chain/run_chain_e2e.sh --skip-build`).
4. **Minimal blast radius.** Each fix is surgical to the file/function listed in the bug report. No refactors beyond what the fix requires.
---
## Phase 1 — Critical remote-exploitable fixes (ship first)
**Goal:** Eliminate drive-by takeover and remote heap corruption. All fixes are small and localized.
| # | Bug | File(s) | Fix | Est. effort | Depends on |
|---|-----|---------|-----|-------------|------------|
| 1.1 | CR-1: 1-byte heap OOB write in WS frame NUL-term | `WSServer.cpp:251` | Change `kRecvBuf = WS_MAX_RECV_PAYLOAD + 14u``+ 14u + 1u` | 5 min | — |
| 1.2 | CR-2: XSS via unescaped `src.addr` | `Client/udpstreamer/static/app.js:3503`; `Client/debugger/static/app.js:3549` | Wrap `src.addr` with existing `escHtml()` in `_statsKV` calls (or inside `_statsKV` itself) | 10 min | — |
| 1.3 | CR-3: WebSocket CSRF (Origin check disabled) | `Common/Client/go/wshub/hub.go:128`; `Source/Applications/StreamHub/WSServer.cpp:186-239` | **Go:** Replace `CheckOrigin: func(r *http.Request) bool { return true }` with a same-origin check (compare `Origin` header host to `Host` header). Add a configurable allowlist env var for non-local deployments. **C++:** Parse `Origin` header in `UpgradeHTTP`; reject if present and host doesn't match the listen address. | 30 min | — |
| 1.4 | CR-4: Unauthenticated command injection to MARTe2 | `Client/debugger/martecontrol.go:217-263` | Add an allowlist of permitted MARTe2 commands (`DISCOVER`, `TREE`, `INFO`, `LS`, `VALUE`, `TRACE`, `UNTRACE`); reject `FORCE`, `UNFORCE`, `PAUSE`, `RESUME`, `STEP`, `BREAK`, `MSG` unless an explicit `--enable-dangerous-commands` flag is set. Log all forwarded commands. | 1 h | 1.3 |
| 1.5 | CR-5: No auth on DebugService TCP | `DebugService.cpp:276` | (a) Bind TCP server to localhost by default (add `BindAddress` config key, default `127.0.0.1`). (b) Add an optional `AuthToken` config key; if set, require the first line from a client to be `AUTH <token>` before accepting commands. | 2 h | — |
**Validation:** `bash -n` on shell scripts; `go build ./...` in each Go module; `make -f Makefile.gcc core apps`; manual test: open browser console on a cross-origin page and confirm WS to `localhost:8090` is rejected; confirm a crafted 65536-byte WS frame no longer corrupts.
**Commit:** `fix(security): critical remote-exploitable fixes (CR-1..CR-5)`
---
## Phase 2 — High-severity crash / OOB / UAF fixes
**Goal:** Eliminate remote crash and memory-corruption vectors. These are the integer-overflow and concurrency bugs.
### 2A — Integer-overflow bounds checks (uniform pattern)
| # | Bug | File(s) | Fix |
|---|-----|---------|-----|
| 2A.1 | HI-1: DATA bounds check overflow | `UDPSourceSession.cpp:358`; `UDPStreamerClient.cpp:520` | Replace `off + elemsToRead * wireElemBytes > size` with 64-bit arithmetic. Add a `validateBounds(off, count, elemBytes, size)` static helper in `UDPSProtocol.h` and use it in both files. |
| 2A.2 | HI-2: Go unbounded allocations | `protocol.go:121, 229, 325` | Add `validateCount(count, elemSize, bufLen)` in `protocol.go`; call before every `make([]T, n)` that uses a network-derived count. Cap `NumElements()` at 1M. |
| 2A.3 | HI-3: `accumFill` overflow + size calc | `UDPStreamer.cpp:700, 738, 757, 857-860` | (a) Add `if (accumFill >= maxBatchCount) { flush; }` before the write at line 857. (b) Use `uint64` for `maxBatchCount * totalSrcBytes` size calculations. |
| 2A.4 | MD-4: `numRows * numCols` overflow | `UDPSourceSession.cpp:240, 346`; `protocol.go:121` | Use `static_cast<uint64>(numRows) * static_cast<uint64>(numCols)`; cap at 1M. |
| 2A.5 | MD-15: `pairCount * 16u` overflow | `Client/streamhub/Protocol.cpp:77, 117` | Check `pairCount > (len - off) / 16` before multiplication; use `ull` suffix. |
| 2A.6 | HI-6: `FD_SET` overflow | `UDPSServer.cpp:273, 308`; `UDPSClient.cpp:383` | Add `if (fd < FD_SETSIZE)` guard before each `FD_SET`; otherwise skip that client this cycle (or switch to `poll()`, which the codebase already uses elsewhere). |
**Est. effort:** 3 h (pattern is repetitive once the helper exists)
### 2B — Use-after-free and concurrency
| # | Bug | File(s) | Fix |
|---|-----|---------|-----|
| 2B.1 | HI-5: Broadcast vs FreeSlot UAF | `WSServer.cpp:345-366, 432-445` | `FreeSlot` must acquire `clients[idx].writeMutex` before setting `active=false` and deleting `sock`. This ensures `BroadcastText`/`BroadcastBinary` cannot dereference a freed socket. |
| 2B.2 | HI-9: TraceRingBuffer not thread-safe | `DebugCore.h:79-142` | Replace `volatile uint32 readIndex/writeIndex` with `Atomic<uint32>` (MARTe2 `Atomic::Load`/`Atomic::Store`). Ensure `Push` writes data before storing `writeIndex` (release ordering); `Pop` loads `writeIndex` before reading data (acquire ordering). |
| 2B.3 | HI-4: `ProcessSignal` unclamped memcpy + `forcedMask` OOB | `DebugServiceBase.cpp:310, 313-318` | (a) Clamp `size` to `sizeof(signalInfo->forcedValue)` (1024). (b) Cap the array-forcing loop at `min(nEl, 256)`. (c) Validate `nEl <= 256` in `RegisterSignal`. |
| 2B.4 | HI-7: Weak PRNG for WS handshake | `WSClient.cpp:29-31` | Replace `srand(time(nullptr))` + `rand()` with `std::random_device` or `getrandom()`/`/dev/urandom` read. |
| 2B.5 | HI-8: Global registry patching | `DebugServiceBase.cpp:217-242` | (a) Save original builders before patching (`item->GetObjectBuilder()`); store in a static array for restore on destruction. (b) Add a `PatchRegistry` config flag (default `true` for back-compat; document the implication). (c) Guard against double-patching (skip if already patched). |
**Est. effort:** 4 h
**Validation:** `make -f Makefile.gcc test` + `./Build/x86-linux/GTest/MainGTest.ex` + `./Build/x86-linux/Test/Integration/Integration/IntegrationTests.ex` + `python3 -m unittest tests_py` (in `Test/E2E/chain/`) + `go test ./...` (in each Go module). Craft a UDP packet with `numSamples=0x20000001` and confirm no crash. Run the E2E suite: `./Test/E2E/chain/run_chain_e2e.sh --skip-build`.
**Commit:** `fix(security): high-severity crash/OOB/UAF fixes (HI-1..HI-9)`
---
## Phase 3 — Medium-severity robustness / DoS / parser fixes
**Goal:** Harden input validation, fix reassembly logic, and improve WS RFC compliance.
### 3A — UDPS protocol hardening
| # | Bug | File(s) | Fix |
|---|-----|---------|-----|
| 3A.1 | MD-1: `recvMask` too small | `UDPSClient.cpp:544, 592-594` | Enlarge `recvMask` to 64 bytes (512 bits) to match the `totalFragments <= 512` cap. |
| 3A.2 | MD-2: No type matching in reassembly | `UDPSClient.cpp:548-555` | Add `type` field to `ReassemblySlot`; key on `counter && type`. |
| 3A.3 | MD-3: Signal name not null-terminated | `UDPSourceSession.cpp:219-223` | After `memcpy`, force `name[63]='\0'` and `unit[31]='\0'`. |
| 3A.4 | MD-6: No auth on UDP CONNECT | `UDPSServer.cpp:655-723` | Document trust boundary in `Docs/Protocol.md`. Optional: add a `ConnectToken` config key. |
| 3A.5 | MD-13: Reassembler unbounded map growth (Go) | `reassembler.go:41-89` | Add `maxSets = 1024` cap; reject new sets when full. |
| 3A.6 | LO-1: `totalFrags` overflow | `UDPSServer.cpp:541-542` | Validate `payloadSize <= maxPayloadSize * 65535` before the calculation. |
| 3A.7 | LO-17: `bufMutex.Create` unchecked | `UDPStreamer.cpp:119`; `UDPStreamerClient.cpp:149` | Check return value; `REPORT_ERROR` on failure. |
| 3A.8 | LO-19: Reassembler ticker panic | `reassembler.go:93` | Guard `if r.expiry <= 0 { r.expiry = 2 * time.Second }`. |
**Est. effort:** 2 h
### 3B — WebSocket and JSON robustness (C++ clients)
| # | Bug | File(s) | Fix |
|---|-----|---------|-----|
| 3B.1 | MD-16: `readU16`/`readU32` silent failure | `Client/streamhub/Protocol.cpp:21-38` | Change `readU16`/`readU32`/`readF64` to return `bool` (or set an `ok` flag); `ParseBinaryFrame` fails fast on any truncated read. |
| 3B.2 | MD-17: JSON injection in command builders | `Client/streamhub/Protocol.cpp:183-213` | Add a `jsonEscape(str)` helper; use it for all `%s` string interpolations. Switch to `std::string` to avoid truncation. |
| 3B.3 | MD-18: `strstr`-based JSON parsing | `Client/streamhub/Protocol.cpp:296-310, 495, 510` | Migrate `ParseSources`, `ParseZoom`, `ParseStats` to a real JSON parser. **ImGui:** add a minimal JSON parser or vendor a single-header library (e.g. nlohmann/json). **Qt:** use `QJsonDocument`. |
| 3B.4 | MD-19: WS RFC 6455 violations | `WSClient.cpp:204-223` | (a) Reject control frames with `payloadLen > 125`. (b) Implement `CONTINUATION` opcode reassembly (or at least log and drop with a clear message). (c) Echo `CLOSE` frame. |
| 3B.5 | MD-20: Handshake no timeout | `WSClient.cpp:290-301` | Set `SO_RCVTIMEO` to 5s on the socket before the handshake loop. |
| 3B.6 | MD-5: SHA1 latent overflow | `SHA1.h:50`; `WSFrame_client.h:113` | Add `if (len > 119u) return;` guard; use `uint64_t bitLen`; use `std::vector` instead of `new[]`/`delete[]`. |
| 3B.7 | MD-24: `parseCapture` panic | `Test/E2E/chain/client/main.go:140-171` | Add bounds checks before each read, mirroring `parsePush`. |
**Est. effort:** 4 h (3B.3 is the largest item — JSON parser migration)
### 3C — Go hub and debugger hardening
| # | Bug | File(s) | Fix |
|---|-----|---------|-----|
| 3C.1 | MD-10: No WS client cap | `hub.go:367-377` | Track `len(h.clients)`; reject above configurable max (default 32). |
| 3C.2 | MD-11: Silent data loss | `hub.go:346-358` | Add a `droppedCount` atomic counter per channel; expose via `Snapshot()`. |
| 3C.3 | MD-12: SSRF via `addSource` | `hub.go:83-96`; `sources.go:62-67` | Validate `addr` against a configurable allowlist (default: localhost + private RFC1918 ranges; reject link-local/metadata endpoints like `169.254.169.254`). |
| 3C.4 | MD-14: Index panic | `martecontrol.go:543` | Use `strings.TrimPrefix(line, "OK SERVICE_INFO ")` with a length check. |
| 3C.5 | LO-14: `stopCh` double-close | `martecontrol.go:182-189` | Use `sync.Once` for closing `stopCh`. |
| 3C.6 | LO-10: `unsafe.Pointer` aliasing | `hub.go:588-594` | Replace `float64ToBytes` with `binary.LittleEndian` put operations. |
| 3C.7 | LO-11: `+Inf` in JSON | `stats.go:115-116` | Guard `if avg > 0 { si.RateHz = 1.0 / avg } else { si.RateHz = 0 }`. |
**Est. effort:** 2 h
### 3D — TcpLogger and DebugService fixes
| # | Bug | File(s) | Fix |
|---|-----|---------|-----|
| 3D.1 | MD-7: `StringHelper::Copy` overflow | `TcpLogger.cpp:87` | Replace with `strncpy(entry.description, description, MAX_ERROR_MESSAGE_SIZE-1); entry.description[MAX_ERROR_MESSAGE_SIZE-1]='\0';` |
| 3D.2 | MD-8: `volatile` indices + lost wakeup | `TcpLogger.cpp:83-153, 157-158` | Use `Atomic::Load`/`Store` for `writeIdx`/`readIdx`; use `eventSem.ResetWait()` instead of `Wait`+`Reset`. |
| 3D.3 | MD-9: `printf` on RT thread | `TcpLogger.cpp:75-76` | Add a `MirrorToStdout` config key (default `false`); guard the `printf`/`fflush` behind it. |
| 3D.4 | MD-21: Stack buffer + shadowed member | `DebugService.cpp:438, 489` | Remove the local `udpsSampleBuf` (use the member); heap-allocate `cfgBuf`. |
| 3D.5 | MD-23: `configValidated` read without lock | `UDPStreamerClient.cpp:463` | Mark `volatile` or acquire `bufMutex` before reading. |
| 3D.6 | MD-22: Spinlock on RT path | `UDPStreamer.cpp:856, 947-976` | Minimize the RT-side critical section: swap a pointer instead of `memcpy` under the lock. Move the `memcpy` outside the lock (double-buffer pattern). |
| 3D.7 | LO-7: JSON escaping in DISCOVER | `DebugServiceBase.cpp:900-906` | Use the existing `EscapeJson` helper for signal names. |
| 3D.8 | LO-8: `EvaluateBreak` only element 0 | `DebugBrokerWrapper.h:61-86` | Document the limitation in the function comment. |
| 3D.9 | LO-9: `fprintf(stderr)` on init | `DebugBrokerWrapper.h:195-197` | Replace with `REPORT_ERROR`. |
**Est. effort:** 3 h
**Validation:** Full test suites + E2E. For 3B.3 (JSON parser migration), add unit tests for crafted JSON inputs (nested quotes, escaped chars, truncated payloads). For 3A.1/3A.2, add a unit test that sends duplicate high-index fragments and mixed-type same-counter fragments.
**Commit:** `fix(robustness): medium-severity input validation, parser, and DoS fixes (MD-1..MD-24)`
---
## Phase 4 — Low-severity hardening and documentation
**Goal:** Clean up latent bugs, fix doc mismatches, add missing hardening. These are non-urgent but improve code health.
| # | Bug | File(s) | Fix |
|---|-----|---------|-----|
| 4.1 | LO-2: `Stop()` TOCTOU | `WSServer.cpp:104-134` | Replace `Sleep(200ms)` with thread join. |
| 4.2 | LO-3: Spinlock priority inversion | `UDPSourceSession.h`; `WSServer.h` | Document that `FastPollingMutexSem` is only for very short critical sections on same-core RT configs. Consider `MutexSem` for non-RT-contended paths. |
| 4.3 | LO-4: `SignalBuffer` mod-0 | `SignalBuffer.h:36-41` | Guard `push`/`readLast`/`readRange` against `capacity == 0`. |
| 4.4 | LO-5: Misleading "Thread-safe" comment | `SignalBuffer.h:18` | Remove the claim or add internal locking. |
| 4.5 | LO-6: GAM type validation + doc | `SineArrayGAM.cpp:81`; `TimeArrayGAM.cpp:54`; `TimeArrayGAM.h:8,27` | Add `GetSignalType` checks; update `TimeArrayGAM.h` doc from `uint32` to `uint64`. |
| 4.6 | LO-12: Directory listing | `Client/webui/main.go:26` | Disable directory listings (return 404 for directories). |
| 4.7 | LO-13: No security headers | `Client/debugger/main.go:55`; `Client/udpstreamer/main.go`; `Client/webui/main.go` | Add a middleware that sets `X-Content-Type-Options: nosniff`, `X-Frame-Options: DENY`, `Content-Security-Policy: default-src 'self'`. |
| 4.8 | LO-15: `host_`/`port_` race | `WSClient.cpp:48-58` | Protect with `sendMutex_` or make `atomic<uint16_t>` + `std::string` guarded by a small mutex. |
| 4.9 | LO-16: `ReadExactTCP` edge case | `UDPSClient.cpp:474-487` | Add a max-iterations guard. |
| 4.10 | LO-18: `RangeMin < RangeMax` validation | `UDPStreamer.cpp:403-404` | Validate when `quantType != None`; `REPORT_ERROR` if `rangeMax <= rangeMin`. |
**Est. effort:** 2 h
**Commit:** `fix(hardening): low-severity fixes, doc corrections, security headers (LO-1..LO-19)`
---
## Phase 5 — Cross-cutting refactors (optional, post-hardening)
These are not bug fixes but structural improvements that prevent the recurrence of the bug classes found in this audit.
| # | Refactor | Rationale | Est. effort |
|---|----------|-----------|-------------|
| 5.1 | Shared `validateBounds` / `validateCount` helpers | Centralizes the integer-overflow-prevention pattern; prevents future copy-paste bugs | 1 h |
| 5.2 | Real JSON parser in C++ clients (nlohmann/json or Qt's QJsonDocument) | Eliminates the entire class of `strstr`/`snprintf` JSON bugs (MD-16, MD-17, MD-18) | 4 h |
| 5.3 | `poll()`/`epoll` everywhere (replace all `select`+`FD_SET`) | Eliminates the `FD_SETSIZE` limitation entirely (HI-6) | 2 h |
| 5.4 | Auth framework for DebugService + web UIs | Token-based auth shared between the Go web UIs and the C++ DebugService; eliminates the "no auth anywhere" theme | 1 d |
| 5.5 | Fuzzing harness for UDPS protocol parsers | `libFuzzer` or `go-fuzz` harnesses that feed random bytes to `ParseConfig`/`ParseData`/`DecodeElems`/`ParseBinaryFrame`; catches future overflow variants | 1 d |
| 5.6 | Thread-sanitizer and address-sanitizer CI runs | `make CXXFLAGS="-fsanitize=address,undefined"`; `go test -race`; catches UAF and races automatically | 4 h |
---
## Verification checklist (run after each phase)
```bash
source env.sh
# C++ build + tests
make -f Makefile.gcc clean
make -f Makefile.gcc core apps test
./Build/x86-linux/GTest/MainGTest.ex
./Build/x86-linux/Test/Integration/Integration/IntegrationTests.ex
# Go tests (each module)
cd Common/Client/go && go vet ./... && go test ./... && cd -
cd Client/debugger && go vet ./... && go build ./... && cd -
cd Client/udpstreamer && go vet ./... && go build ./... && cd -
cd Test/E2E/chain/client && go vet ./... && go test ./... && cd -
# Python framework tests
cd Test/E2E/chain && python3 -m unittest tests_py && cd -
# Full E2E suite
./Test/E2E/chain/run_chain_e2e.sh --skip-build
# ASan/UBSan smoke test (after Phase 2+)
make -f Makefile.gcc clean
make -f Makefile.gcc CXXFLAGS="-fsanitize=address,undefined -g" core apps
./Build/x86-linux/GTest/MainGTest.ex
```
---
## Timeline summary
| Phase | Scope | Est. effort | Risk reduction |
|-------|-------|-------------|----------------|
| 1 | Critical remote-exploitable (CR-1..CR-5) | ~4 h | Eliminates drive-by takeover + heap corruption |
| 2 | High crash/OOB/UAF (HI-1..HI-9) | ~7 h | Eliminates remote crash + memory corruption |
| 3 | Medium robustness/DoS/parser (MD-1..MD-24) | ~11 h | Hardens input validation + RFC compliance |
| 4 | Low hardening/doc (LO-1..LO-19) | ~2 h | Code health + defense in depth |
| 5 | Cross-cutting refactors (optional) | ~3 d | Prevents recurrence of bug classes |
**Total (Phases 1-4):** ~24 h of focused work. Phase 5 is optional and can be scheduled separately.
+1011
View File
File diff suppressed because it is too large Load Diff
+9 -2
View File
@@ -32,9 +32,14 @@ cd Client/debugger && go build ./...
# ImGui desktop client (not a MARTe2 component; needs SDL2) # ImGui desktop client (not a MARTe2 component; needs SDL2)
cd Client/streamhub && cmake -B build -DCMAKE_BUILD_TYPE=Release && cmake --build build cd Client/streamhub && cmake -B build -DCMAKE_BUILD_TYPE=Release && cmake --build build
# Qt desktop client (not a MARTe2 component; needs Qt5 or Qt6 Widgets + WebSockets)
cd Client/streamhub-qt && cmake -B build && cmake --build build
``` ```
End-to-end demo scripts (build + launch full stack, see headers for ports/options): `./run_combined_test.sh`, `./run_streamhub.sh`. End-to-end demo script (build + launch full stack, see header for ports/options): `./run_streamhub.sh`.
**Streaming-chain E2E suite** (`Test/E2E/suite/`): `./run_e2e.sh [--skip-build] [--only <id>] [--cpp-coverage]` drives the full chain per scenario (`scenarios.py`) — generates typed/shaped input + both cfgs, runs MARTe2+StreamHub, records via the Go `chain-client` (live/zoom/window/trigger), and validates the recorded waveform against an analytic/fed oracle (`validate_waveform.py`: fidelity gates correctness, sine shape-fit is a gross-sanity gate + tracked metric pending Phase-A timestamp calibration). It then runs the unit suites + coverage (`collect.py`: C++ GTest, Go, Python; `--cpp-coverage` does an instrumented `--coverage` rebuild, captures with lcov restricted to `Source/*` (the `Test/` harness itself is excluded — it executes every line by construction and would just inflate the number), then restores the clean build), consolidates everything into `report_data.json` with per-field progression/regression vs the previous run and trend plots (`report_build.py`, history in `Build/x86-linux/E2E/chain/history.jsonl`), and compiles a Typst PDF (`E2E_Report.typ`). Python framework unit tests: `python3 -m unittest tests_py` (in `Test/E2E/suite/`).
Build output goes to `Build/x86-linux/` (shared libs per component, `.ex` executables). Build output goes to `Build/x86-linux/` (shared libs per component, `.ex` executables).
@@ -42,7 +47,7 @@ Build output goes to `Build/x86-linux/` (shared libs per component, `.ex` execut
Two independent data paths: Two independent data paths:
1. **Streaming path**: `UDPStreamer` DataSource serialises signals each RT cycle to UDPS binary packets (UDP 44500, unicast/multicast) → `StreamHub` (`Source/Applications/StreamHub/`, headless C++ app: ring buffers, LTTB decimation, trigger FSM) → WebSocket 8090 → browser (`Client/udpstreamer`, Go) or native ImGui client (`Client/streamhub`). 1. **Streaming path**: `UDPStreamer` DataSource serialises signals each RT cycle to UDPS binary packets (UDP 44500, unicast/multicast) → `StreamHub` (`Source/Applications/StreamHub/`, headless C++ app: ring buffers, LTTB decimation, trigger FSM) → WebSocket 8090 → browser (`Client/udpstreamer`, Go), native ImGui client (`Client/streamhub`), or native Qt client (`Client/streamhub-qt`).
2. **Debug path**: `DebugService` patches the `ClassRegistryDatabase` at `Initialise()` so subsequent `ConfigureApplication()` instantiates `DebugBrokerWrapper<T>` around all `MemoryMap*Broker` types — no application changes. RT hot path goes through `DebugServiceI` (abstract singleton in `DebugServiceI.h`) for forcing/tracing/breakpoints. Exposes TCP 8080 (text commands), UDP 8081 (trace telemetry), works with `TcpLogger` on 8082. Web UI: `Client/debugger` (Go). 2. **Debug path**: `DebugService` patches the `ClassRegistryDatabase` at `Initialise()` so subsequent `ConfigureApplication()` instantiates `DebugBrokerWrapper<T>` around all `MemoryMap*Broker` types — no application changes. RT hot path goes through `DebugServiceI` (abstract singleton in `DebugServiceI.h`) for forcing/tracing/breakpoints. Exposes TCP 8080 (text commands), UDP 8081 (trace telemetry), works with `TcpLogger` on 8082. Web UI: `Client/debugger` (Go).
**Shared wire format**: `Common/UDP/UDPSProtocol.h` defines the UDPS binary protocol (17-byte packed header, 136-byte signal descriptors, little-endian). It is deliberately MARTe2-free so it's shared by C++ producers (`UDPStreamer`, `DebugService`), the C++ consumer (`Source/Components/Interfaces/UDPStream/UDPSClient`), and the Go decoder (`Common/Client/go/udpsprotocol`). Changes to the protocol must be mirrored across all of these, plus the JS client parsers. **Shared wire format**: `Common/UDP/UDPSProtocol.h` defines the UDPS binary protocol (17-byte packed header, 136-byte signal descriptors, little-endian). It is deliberately MARTe2-free so it's shared by C++ producers (`UDPStreamer`, `DebugService`), the C++ consumer (`Source/Components/Interfaces/UDPStream/UDPSClient`), and the Go decoder (`Common/Client/go/udpsprotocol`). Changes to the protocol must be mirrored across all of these, plus the JS client parsers.
@@ -57,3 +62,5 @@ Two independent data paths:
- `FastPollingMutexSem` on RT hot paths (never OS mutexes). - `FastPollingMutexSem` on RT hot paths (never OS mutexes).
- Each component dir has `Makefile.gcc` (wrapper), `Makefile.inc` (sources/includes), and `depends.x86-linux`/`dependsRaw.x86-linux` (generated dependency files). - Each component dir has `Makefile.gcc` (wrapper), `Makefile.inc` (sources/includes), and `depends.x86-linux`/`dependsRaw.x86-linux` (generated dependency files).
- EUPL v1.1 license headers on C++ sources. - EUPL v1.1 license headers on C++ sources.
**Qt client** (`Client/streamhub-qt/`): native Widgets oscilloscope, feature/UX-equivalent to the ImGui client, speaking the identical StreamHub WebSocket protocol. CMake autodetects Qt6 (preferred) or Qt5 (`find_package(QT NAMES Qt6 Qt5 ...)` then `Qt${QT_VERSION_MAJOR}::` targets) for old-Linux back-compat. It reuses `../streamhub/Protocol.{h,cpp}` and `SignalBuffer.h` verbatim (framework-free C++17); those structs have members named `signals`, which collide with Qt's `signals`/`slots`/`emit` macros, so the build sets `QT_NO_KEYWORDS` and all Qt classes use `Q_SIGNALS:`/`Q_SLOTS:`/`Q_EMIT`. Single GUI thread (QWebSocket signals arrive on the GUI thread, no locks); a 60 Hz QTimer drives repaint. Plotting is custom QPainter (no QtCharts/QCustomPlot) for ImPlot parity and zero extra deps. Run: `./build/StreamHubQtClient --host HOST --port 8090` (long `--` options; single-dash `-host` is misparsed as clustered short flags).
@@ -0,0 +1,54 @@
package controller
import (
"testing"
)
// TestIsDangerousCommand_Force — FORCE is dangerous.
func TestIsDangerousCommand_Force(t *testing.T) {
if !isDangerousCommand("FORCE signal 1.0") {
t.Error("FORCE should be dangerous")
}
}
// TestIsDangerousCommand_Pause — PAUSE is dangerous.
func TestIsDangerousCommand_Pause(t *testing.T) {
if !isDangerousCommand("PAUSE") {
t.Error("PAUSE should be dangerous")
}
}
// TestIsDangerousCommand_Msg — MSG is dangerous.
func TestIsDangerousCommand_Msg(t *testing.T) {
if !isDangerousCommand("MSG target func") {
t.Error("MSG should be dangerous")
}
}
// TestIsDangerousCommand_CaseInsensitive — case-insensitive.
func TestIsDangerousCommand_CaseInsensitive(t *testing.T) {
if !isDangerousCommand("force signal 1.0") {
t.Error("lowercase force should be dangerous")
}
}
// TestIsDangerousCommand_SafeCommand — DISCOVER is not dangerous.
func TestIsDangerousCommand_SafeCommand(t *testing.T) {
if isDangerousCommand("DISCOVER") {
t.Error("DISCOVER should not be dangerous")
}
}
// TestIsDangerousCommand_TraceNotDangerous — TRACE is not dangerous (read-only).
func TestIsDangerousCommand_TraceNotDangerous(t *testing.T) {
if isDangerousCommand("TRACE signal 1") {
t.Error("TRACE should not be dangerous")
}
}
// TestIsDangerousCommand_Empty — empty command is not dangerous.
func TestIsDangerousCommand_Empty(t *testing.T) {
if isDangerousCommand("") {
t.Error("empty command should not be dangerous")
}
}
@@ -1,4 +1,9 @@
package main // Package controller implements MarteController, the shared TCP/UDP client
// logic that drives a running MARTe2 DebugService+TCPLogger instance. It is
// consumed both by the Client/debugger browser-facing WebSocket server
// (package main, via NewMarteController) and headlessly by the
// Test/E2E/suite/debugclient E2E test tool (via NewHeadlessMarteController).
package controller
import ( import (
"bufio" "bufio"
@@ -17,6 +22,40 @@ import (
"marte2/common/wshub" "marte2/common/wshub"
) )
// ---------------------------------------------------------------------------
// Command safety gate (CR-4)
// ---------------------------------------------------------------------------
// DangerousCommandsEnabled gates commands that mutate the RT application state
// (FORCE, PAUSE, RESUME, STEP, BREAK, MSG). Set via --enable-dangerous-commands.
var DangerousCommandsEnabled = false
// dangerousCommands is the set of MARTe2 commands that can change signal values
// or alter execution flow. Without --enable-dangerous-commands these are blocked
// from the browser WebSocket path.
var dangerousCommands = map[string]bool{
"FORCE": true,
"UNFORCE": true,
"PAUSE": true,
"RESUME": true,
"STEP": true,
"BREAK": true,
"UNBREAK": true,
"MSG": true,
"LOAD": true,
"UNLOAD": true,
}
// isDangerousCommand returns true if the command's first word is in the
// dangerous set (case-insensitive).
func isDangerousCommand(cmd string) bool {
parts := strings.Fields(cmd)
if len(parts) == 0 {
return false
}
return dangerousCommands[strings.ToUpper(parts[0])]
}
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Signal metadata (populated by DISCOVER) // Signal metadata (populated by DISCOVER)
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@@ -47,7 +86,8 @@ func broadcastHub(hub *wshub.Hub, v any) {
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
type MarteController struct { type MarteController struct {
hub *wshub.Hub hub *wshub.Hub
sink func(v any)
mu sync.Mutex mu sync.Mutex
tcpConn net.Conn tcpConn net.Conn
@@ -101,6 +141,7 @@ func NewMarteController(hub *wshub.Hub) *MarteController {
forcedState: make(map[string]string), forcedState: make(map[string]string),
stopCh: make(chan struct{}), stopCh: make(chan struct{}),
} }
mc.sink = func(v any) { broadcastHub(mc.hub, v) }
// Register the new-client hook so connection + forced/traced state is // Register the new-client hook so connection + forced/traced state is
// replayed to any browser that connects (or reconnects) while the server // replayed to any browser that connects (or reconnects) while the server
// already holds a live MARTe2 TCP session. // already holds a live MARTe2 TCP session.
@@ -108,6 +149,20 @@ func NewMarteController(hub *wshub.Hub) *MarteController {
return mc return mc
} }
// NewHeadlessMarteController creates a MarteController with no WebSocket hub,
// routing all events through sink instead (used by the debugclient E2E test tool).
func NewHeadlessMarteController(sink func(v any)) *MarteController {
mc := &MarteController{
hub: nil,
signals: make(map[uint32]*SignalMeta),
tracedNames: make(map[string]bool),
forcedState: make(map[string]string),
stopCh: make(chan struct{}),
}
mc.sink = sink
return mc
}
func (m *MarteController) IsConnected() bool { func (m *MarteController) IsConnected() bool {
return atomic.LoadInt32(&m.connected) == 1 return atomic.LoadInt32(&m.connected) == 1
} }
@@ -166,10 +221,13 @@ func (m *MarteController) Connect(host string, cmdPort, udpPort, logPort int) {
m.stopCh = make(chan struct{}) m.stopCh = make(chan struct{})
m.mu.Unlock() m.mu.Unlock()
// Update source state so the browser shows "connecting". // Update source state so the browser shows "connecting". No-op headless
m.hub.SetSourceState("debug", "connecting") // (m.hub == nil for NewHeadlessMarteController instances).
if m.hub != nil {
m.hub.SetSourceState("debug", "connecting")
}
broadcastHub(m.hub, map[string]any{ m.sink(map[string]any{
"type": "log", "time": time.Now().Format("15:04:05.000"), "type": "log", "time": time.Now().Format("15:04:05.000"),
"level": "INFO", "message": fmt.Sprintf("Connecting to %s cmd=%d udp=%d log=%d", host, cmdPort, udpPort, logPort), "level": "INFO", "message": fmt.Sprintf("Connecting to %s cmd=%d udp=%d log=%d", host, cmdPort, udpPort, logPort),
}) })
@@ -198,7 +256,9 @@ func (m *MarteController) Disconnect() {
m.baseTsSet = false m.baseTsSet = false
m.basesMu.Unlock() m.basesMu.Unlock()
m.discoverAcc = nil m.discoverAcc = nil
m.hub.SetSourceState("debug", "disconnected") if m.hub != nil {
m.hub.SetSourceState("debug", "disconnected")
}
} }
func (m *MarteController) stopped() bool { func (m *MarteController) stopped() bool {
@@ -256,10 +316,25 @@ func (m *MarteController) HandleBrowserCommand(msg []byte) {
return return
} }
cmd, _ := data["cmd"].(string) cmd, _ := data["cmd"].(string)
if cmd != "" { if cmd == "" {
m.trackForcedCmd(cmd) return
m.SendCommand(cmd)
} }
// Gate dangerous commands (FORCE/UNFORCE/PAUSE/RESUME/STEP/BREAK/MSG)
// behind an explicit opt-in flag. Without it, only read-only commands
// (DISCOVER, TREE, INFO, LS, VALUE, TRACE, UNTRACE, STEP_STATUS) are
// forwarded to the MARTe2 TCP control connection.
if isDangerousCommand(cmd) {
if !DangerousCommandsEnabled {
m.sink(map[string]any{
"type": "log", "time": time.Now().Format("15:04:05.000"),
"level": "WARNING",
"message": fmt.Sprintf("Blocked dangerous command (requires --enable-dangerous-commands): %s", cmd),
})
return
}
}
m.trackForcedCmd(cmd)
m.SendCommand(cmd)
} }
} }
@@ -272,7 +347,7 @@ func (m *MarteController) runTCP(host string, port int) {
for !m.stopped() { for !m.stopped() {
conn, err := net.DialTimeout("tcp", addr, 5*time.Second) conn, err := net.DialTimeout("tcp", addr, 5*time.Second)
if err != nil { if err != nil {
broadcastHub(m.hub, map[string]any{ m.sink(map[string]any{
"type": "log", "time": time.Now().Format("15:04:05.000"), "type": "log", "time": time.Now().Format("15:04:05.000"),
"level": "WARNING", "message": fmt.Sprintf("TCP %s: %v — retrying…", addr, err), "level": "WARNING", "message": fmt.Sprintf("TCP %s: %v — retrying…", addr, err),
}) })
@@ -287,7 +362,7 @@ func (m *MarteController) runTCP(host string, port int) {
m.mu.Unlock() m.mu.Unlock()
atomic.StoreInt32(&m.connected, 1) atomic.StoreInt32(&m.connected, 1)
broadcastHub(m.hub, map[string]any{"type": "connected"}) m.sink(map[string]any{"type": "connected"})
// Send SERVICE_INFO to auto-discover ports // Send SERVICE_INFO to auto-discover ports
m.writeCmd("SERVICE_INFO") m.writeCmd("SERVICE_INFO")
@@ -297,7 +372,7 @@ func (m *MarteController) runTCP(host string, port int) {
m.readLoop(conn) m.readLoop(conn)
atomic.StoreInt32(&m.connected, 0) atomic.StoreInt32(&m.connected, 0)
broadcastHub(m.hub, map[string]any{"type": "disconnected"}) m.sink(map[string]any{"type": "disconnected"})
m.mu.Lock() m.mu.Lock()
m.tcpConn = nil m.tcpConn = nil
@@ -323,7 +398,7 @@ func (m *MarteController) writeCmd(cmd string) {
silent := cmd == "STEP_STATUS" || cmd == "INFO" silent := cmd == "STEP_STATUS" || cmd == "INFO"
if !silent { if !silent {
log.Printf("[→MARTe] %s", cmd) log.Printf("[→MARTe] %s", cmd)
broadcastHub(m.hub, map[string]any{ m.sink(map[string]any{
"type": "log", "time": time.Now().Format("15:04:05.000"), "type": "log", "time": time.Now().Format("15:04:05.000"),
"level": "CMD", "message": fmt.Sprintf("→ %s", cmd), "level": "CMD", "message": fmt.Sprintf("→ %s", cmd),
}) })
@@ -465,7 +540,7 @@ func (m *MarteController) handleJSONResponse(tag, data string) {
silent := tag == "STEP_STATUS" || tag == "INFO" silent := tag == "STEP_STATUS" || tag == "INFO"
if !silent { if !silent {
log.Printf("[←MARTe] %s %d bytes", tag, len(data)) log.Printf("[←MARTe] %s %d bytes", tag, len(data))
broadcastHub(m.hub, map[string]any{ m.sink(map[string]any{
"type": "log", "time": time.Now().Format("15:04:05.000"), "type": "log", "time": time.Now().Format("15:04:05.000"),
"level": "RESP", "message": fmt.Sprintf("← %s (%d B)", tag, len(data)), "level": "RESP", "message": fmt.Sprintf("← %s (%d B)", tag, len(data)),
}) })
@@ -500,25 +575,27 @@ func (m *MarteController) handleJSONResponse(tag, data string) {
raw := m.rawSigs raw := m.rawSigs
m.rawSigsMu.RUnlock() m.rawSigsMu.RUnlock()
if len(raw) > 0 { if len(raw) > 0 {
m.hub.UpdateConfigForSource("debug", m.translateSignalNames(raw)) if m.hub != nil {
m.hub.UpdateConfigForSource("debug", m.translateSignalNames(raw))
}
} else { } else {
m.synthesizeHubConfig(all) m.synthesizeHubConfig(all)
} }
// Re-marshal the merged list so the browser gets a single consistent blob. // Re-marshal the merged list so the browser gets a single consistent blob.
merged, _ := json.Marshal(discoverResp{Signals: all}) merged, _ := json.Marshal(discoverResp{Signals: all})
broadcastHub(m.hub, map[string]any{ m.sink(map[string]any{
"type": "response", "tag": "DISCOVER", "data": string(merged), "type": "response", "tag": "DISCOVER", "data": string(merged),
}) })
return return
case "TREE": case "TREE":
broadcastHub(m.hub, map[string]any{ m.sink(map[string]any{
"type": "tree_node", "type": "tree_node",
"data": data, "data": data,
}) })
return return
} }
broadcastHub(m.hub, map[string]any{ m.sink(map[string]any{
"type": "response", "type": "response",
"tag": tag, "tag": tag,
"data": data, "data": data,
@@ -537,13 +614,13 @@ func (m *MarteController) handleTextLine(line string) {
fmt.Sscanf(p[8:], "%d", &newLog) fmt.Sscanf(p[8:], "%d", &newLog)
} }
} }
broadcastHub(m.hub, map[string]any{ m.sink(map[string]any{
"type": "response", "type": "response",
"tag": "SERVICE_INFO", "tag": "SERVICE_INFO",
"data": line[len("OK SERVICE_INFO "):], "data": line[len("OK SERVICE_INFO "):],
}) })
if newUDP > 0 || newLog > 0 { if newUDP > 0 || newLog > 0 {
broadcastHub(m.hub, map[string]any{ m.sink(map[string]any{
"type": "service_config", "type": "service_config",
"udp_port": newUDP, "udp_port": newUDP,
"log_port": newLog, "log_port": newLog,
@@ -567,7 +644,7 @@ func (m *MarteController) handleTextLine(line string) {
} }
} }
} }
broadcastHub(m.hub, map[string]any{ m.sink(map[string]any{
"type": "text_line", "type": "text_line",
"data": line, "data": line,
}) })
@@ -774,7 +851,9 @@ func (m *MarteController) synthesizeHubConfig(sigs []discoverSignalJSON) {
// buffer and limiting live streaming to the fraction of a second that // buffer and limiting live streaming to the fraction of a second that
// accumulated before the DISCOVER response arrived. // accumulated before the DISCOVER response arrived.
translated := m.translateSignalNames(sigInfos) translated := m.translateSignalNames(sigInfos)
m.hub.UpdateConfigForSource("debug", translated) if m.hub != nil {
m.hub.UpdateConfigForSource("debug", translated)
}
} }
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@@ -801,7 +880,7 @@ func (m *MarteController) runDebugUDP(host string, port int) {
if err != nil { if err != nil {
msg := fmt.Sprintf("UDP bind on %s failed: %v — rebuild DebugService C++ and restart", addr, err) msg := fmt.Sprintf("UDP bind on %s failed: %v — rebuild DebugService C++ and restart", addr, err)
log.Printf("[debug-udp] %s", msg) log.Printf("[debug-udp] %s", msg)
broadcastHub(m.hub, map[string]any{ m.sink(map[string]any{
"type": "log", "time": time.Now().Format("15:04:05.000"), "type": "log", "time": time.Now().Format("15:04:05.000"),
"level": "ERROR", "message": msg, "level": "ERROR", "message": msg,
}) })
@@ -812,7 +891,7 @@ func (m *MarteController) runDebugUDP(host string, port int) {
conn.SetReadBuffer(10 * 1024 * 1024) conn.SetReadBuffer(10 * 1024 * 1024)
log.Printf("[debug-udp] listening on %s for UDPS packets", addr) log.Printf("[debug-udp] listening on %s for UDPS packets", addr)
broadcastHub(m.hub, map[string]any{ m.sink(map[string]any{
"type": "log", "time": time.Now().Format("15:04:05.000"), "type": "log", "time": time.Now().Format("15:04:05.000"),
"level": "INFO", "message": fmt.Sprintf("UDP listener bound on %s", addr), "level": "INFO", "message": fmt.Sprintf("UDP listener bound on %s", addr),
}) })
@@ -865,8 +944,10 @@ func (m *MarteController) runDebugUDP(host string, port int) {
sigs = m.translateSignalNames(sigs) sigs = m.translateSignalNames(sigs)
currentSigs = sigs currentSigs = sigs
currentPublishMode = pm currentPublishMode = pm
m.hub.UpdateConfigForSource("debug", sigs) if m.hub != nil {
m.hub.SetSourceState("debug", "connected") m.hub.UpdateConfigForSource("debug", sigs)
m.hub.SetSourceState("debug", "connected")
}
case udpsprotocol.PktData: case udpsprotocol.PktData:
if len(currentSigs) == 0 { if len(currentSigs) == 0 {
@@ -888,8 +969,10 @@ func (m *MarteController) runDebugUDP(host string, port int) {
log.Printf("[debug-udp] parse data: %v", err) log.Printf("[debug-udp] parse data: %v", err)
continue continue
} }
for _, s := range samples { if m.hub != nil {
m.hub.PushDataForSource("debug", s) for _, s := range samples {
m.hub.PushDataForSource("debug", s)
}
} }
} }
} }
@@ -923,7 +1006,7 @@ func (m *MarteController) runLog(host string, port int) {
} }
level := rest[:idx] level := rest[:idx]
msg := rest[idx+1:] msg := rest[idx+1:]
broadcastHub(m.hub, map[string]any{ m.sink(map[string]any{
"type": "log", "type": "log",
"time": time.Now().Format("15:04:05.000"), "time": time.Now().Format("15:04:05.000"),
"level": level, "level": level,
+5 -1
View File
@@ -10,6 +10,8 @@ import (
"net/http" "net/http"
"os" "os"
"marte2debugger/controller"
"marte2/common/wshub" "marte2/common/wshub"
) )
@@ -21,13 +23,15 @@ var staticFiles embed.FS
func main() { func main() {
addr := flag.String("addr", ":7777", "HTTP listen address") addr := flag.String("addr", ":7777", "HTTP listen address")
sourcesFile := flag.String("sources-file", "", "JSON file for persistent source list") sourcesFile := flag.String("sources-file", "", "JSON file for persistent source list")
flag.BoolVar(&controller.DangerousCommandsEnabled, "enable-dangerous-commands", false,
"Allow FORCE/PAUSE/RESUME/STEP/BREAK/MSG commands from the browser (CR-4 safety gate)")
flag.Parse() flag.Parse()
hub := wshub.NewHub() hub := wshub.NewHub()
sm := wshub.NewSourceManager(hub, *sourcesFile) sm := wshub.NewSourceManager(hub, *sourcesFile)
hub.SetSourceManager(sm) hub.SetSourceManager(sm)
ctrl := NewMarteController(hub) ctrl := controller.NewMarteController(hub)
go hub.Run() go hub.Run()
+1 -1
View File
@@ -3511,7 +3511,7 @@ function _fmtHz(v) { return v != null && isFinite(v) && v > 0 ? v.toFixed(2) + '
function _fmtKB(v) { return v != null && isFinite(v) ? (v / 1024).toFixed(2) + ' KB' : '—'; } function _fmtKB(v) { return v != null && isFinite(v) ? (v / 1024).toFixed(2) + ' KB' : '—'; }
function _statsKV(label, value, cls) { function _statsKV(label, value, cls) {
return `<div class="stats-kv"><span class="stats-k">${label}</span><span class="stats-v${cls ? ' ' + cls : ''}">${value}</span></div>`; return `<div class="stats-kv"><span class="stats-k">${escHtml(label)}</span><span class="stats-v${cls ? ' ' + cls : ''}">${escHtml(value)}</span></div>`;
} }
function _histHTML(si) { function _histHTML(si) {
+68
View File
@@ -0,0 +1,68 @@
cmake_minimum_required(VERSION 3.16)
project(StreamHubQtClient CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
# The reused, framework-free Protocol.h / Model.h structs have members named
# "signals" (e.g. ZoomResponse::signals). Qt's default "signals"/"slots"/"emit"
# keyword macros would clobber them, so disable the macros and use the
# Q_SIGNALS / Q_SLOTS / Q_EMIT spellings in our own Qt classes instead.
add_compile_definitions(QT_NO_KEYWORDS)
# ── Qt5/Qt6 autodetect (prefer Qt6, fall back to Qt5) ─────────────────────────
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets WebSockets)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets WebSockets)
message(STATUS "StreamHubQtClient: building against Qt${QT_VERSION_MAJOR} "
"(${QT_VERSION})")
# ── Reuse the wire layer from the ImGui client (single source of truth) ───────
set(REF_CLIENT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../streamhub)
set(SOURCES
main.cpp
Theme.cpp
Hub.cpp
WsClient.cpp
PlotWidget.cpp
PlotGrid.cpp
SourceSidebar.cpp
TriggerBar.cpp
StatsDialog.cpp
HistoryBar.cpp
MainWindow.cpp
# Reused, framework-free protocol implementation:
${REF_CLIENT_DIR}/Protocol.cpp
)
set(HEADERS
Model.h
Theme.h
Hub.h
WsClient.h
PlotWidget.h
PlotGrid.h
SourceSidebar.h
TriggerBar.h
StatsDialog.h
HistoryBar.h
MainWindow.h
)
add_executable(StreamHubQtClient ${SOURCES} ${HEADERS})
target_include_directories(StreamHubQtClient PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${REF_CLIENT_DIR} # Protocol.h, SignalBuffer.h
)
target_link_libraries(StreamHubQtClient PRIVATE
Qt${QT_VERSION_MAJOR}::Widgets
Qt${QT_VERSION_MAJOR}::WebSockets
)
target_compile_options(StreamHubQtClient PRIVATE -Wall -Wextra -Wno-unused-parameter)
install(TARGETS StreamHubQtClient DESTINATION bin)
+104
View File
@@ -0,0 +1,104 @@
/**
* @file HistoryBar.cpp
*/
#include "HistoryBar.h"
#include "Hub.h"
#include "PlotGrid.h"
#include "Theme.h"
#include <QHBoxLayout>
#include <QLabel>
#include <QPushButton>
#include <QDateTime>
namespace shq {
static double nowSec() {
return QDateTime::currentMSecsSinceEpoch() / 1000.0;
}
HistoryBar::HistoryBar(Hub* hub, PlotGrid* grid, QWidget* parent)
: QWidget(parent), hub_(hub), grid_(grid) {
auto* lay = new QHBoxLayout(this);
lay->setContentsMargins(6, 2, 6, 2);
lay->setSpacing(4);
auto* title = new QLabel("History", this);
title->setStyleSheet("color:#fab387; font-weight:bold;");
lay->addWidget(title);
auto* liveBtn = new QPushButton("Live", this);
connect(liveBtn, &QPushButton::clicked, this, [this]() {
grid_->goLive();
Q_EMIT liveRequested();
});
lay->addWidget(liveBtn);
rangeLbl_ = new QLabel("No range", this);
rangeLbl_->setStyleSheet("color:#a6adc8;");
rangeLbl_->setMinimumWidth(170);
lay->addWidget(rangeLbl_);
auto* left = new QPushButton("\u25c0", this); /* pan left */
left->setMaximumWidth(32);
connect(left, &QPushButton::clicked, this, [this]() { grid_->panAll(-0.75); });
lay->addWidget(left);
auto* right = new QPushButton("\u25b6", this); /* pan right */
right->setMaximumWidth(32);
connect(right, &QPushButton::clicked, this, [this]() { grid_->panAll(0.75); });
lay->addWidget(right);
/* Jump presets. */
static const double kJumpSec[] = {10, 30, 60, 300, 600, 1800, 3600};
static const char* kJumpLabel[] = {"10s","30s","1m","5m","10m","30m","1h"};
for (int j = 0; j < 7; j++) {
double sec = kJumpSec[j];
auto* b = new QPushButton(kJumpLabel[j], this);
b->setMaximumWidth(40);
connect(b, &QPushButton::clicked, this, [this, sec]() {
grid_->jumpAllAgo(sec);
});
lay->addWidget(b);
}
auto* allBtn = new QPushButton("All", this);
allBtn->setMaximumWidth(40);
connect(allBtn, &QPushButton::clicked, this, &HistoryBar::showAll);
lay->addWidget(allBtn);
lay->addStretch(1);
}
void HistoryBar::showAll() {
const auto& hi = hub_->historyInfo();
double t0 = 1e300, t1 = -1e300;
for (const auto& hs : hi.signals) {
if (hs.t0 < t0) { t0 = hs.t0; }
if (hs.t1 > t1) { t1 = hs.t1; }
}
if (t1 > t0) { grid_->setAllStoredX(t0, t1); }
}
void HistoryBar::updateReadout() {
double t0, t1;
if (!grid_->currentRange(t0, t1)) {
rangeLbl_->setText("Live");
return;
}
double span = t1 - t0;
double ago = nowSec() - t1;
QString s;
if (ago < 1.0) {
s = QString("%1 s span | now").arg(span, 0, 'g', 3);
} else if (ago < 60.0) {
s = QString("%1 s span | %2 s ago").arg(span, 0, 'g', 3).arg(ago, 0, 'f', 0);
} else if (ago < 3600.0) {
s = QString("%1 s span | %2 min ago").arg(span, 0, 'g', 3).arg(ago / 60.0, 0, 'f', 1);
} else {
s = QString("%1 s span | %2 h ago").arg(span, 0, 'g', 3).arg(ago / 3600.0, 0, 'f', 1);
}
rangeLbl_->setText(s);
}
} /* namespace shq */
+42
View File
@@ -0,0 +1,42 @@
/**
* @file HistoryBar.h
* @brief History-browsing toolbar: Live, range readout, pan, jump presets, All.
*
* Operates on the PlotGrid (sets all plots non-live and seeds their stored X
* range). Mirrors the ImGui App::renderHistoryBar. Visible only when the hub
* reports history is enabled and populated.
*/
#pragma once
#include <QWidget>
class QLabel;
namespace shq {
class Hub;
class PlotGrid;
class HistoryBar : public QWidget {
Q_OBJECT
public:
HistoryBar(Hub* hub, PlotGrid* grid, QWidget* parent = nullptr);
public Q_SLOTS:
/** Update the range readout (called by the 60 Hz tick). */
void updateReadout();
/** Jump all plots to the full available history range. */
void showAll();
Q_SIGNALS:
/** User pressed Live → MainWindow hides this bar. */
void liveRequested();
private:
Hub* hub_;
PlotGrid* grid_;
QLabel* rangeLbl_ = nullptr;
};
} /* namespace shq */
+299
View File
@@ -0,0 +1,299 @@
/**
* @file Hub.cpp
*/
#include "Hub.h"
#include "Theme.h"
#include <QDateTime>
#include <algorithm>
using namespace StreamHubClient;
namespace shq {
Hub::Hub(QObject* parent) : QObject(parent) {
connect(&ws_, &WsClient::connectedChanged, this, &Hub::onConnected);
connect(&ws_, &WsClient::textReceived, this, &Hub::onText);
connect(&ws_, &WsClient::binaryReceived, this, &Hub::onBinary);
}
void Hub::start(const QString& host, uint16_t port) {
ws_.connectTo(host, port);
}
void Hub::reconnect(const QString& host, uint16_t port) {
ws_.reconnectTo(host, port);
}
/* ── connection ──────────────────────────────────────────────────────────── */
void Hub::onConnected(bool connected) {
if (connected) {
sendGetSources();
sendGetStats();
sendHistoryInfo();
}
Q_EMIT connectedChanged(connected);
}
/* ── dispatch ────────────────────────────────────────────────────────────── */
void Hub::onText(const QString& jsonQ) {
const std::string json = jsonQ.toStdString();
const std::string type = ParseType(json);
if (type == "sources") { onSources(json); }
else if (type == "config") { onConfig(json); }
else if (type == "stats") { onStats(json); }
else if (type == "triggerState") { onTriggerState(json); }
else if (type == "zoom") { onZoom(json); }
else if (type == "historyZoom") { onHistoryZoom(json); }
else if (type == "historyInfo") { onHistoryInfo(json); }
else if (type == "maxPointsUpdated") { onMaxPointsUpdated(json); }
/* pong: ignore */
}
void Hub::onBinary(const QByteArray& bytes) {
if (bytes.isEmpty()) { return; }
const uint8_t* data = reinterpret_cast<const uint8_t*>(bytes.constData());
const size_t len = static_cast<size_t>(bytes.size());
if (data[0] == 2u) { /* trigger capture frame */
CaptureFrame cf;
if (ParseCaptureFrame(data, len, cf)) {
capture_ = std::move(cf);
hasCapture_ = true;
trigger_.status = "triggered";
trigger_.trigTime = capture_.trigTime;
trigger_.hasTrigTime = true;
Q_EMIT captureReceived();
}
return;
}
DataFrame frame; /* v1 live push */
if (!ParseBinaryFrame(data, len, frame)) { return; }
int srcIdx = findSource(frame.sourceId);
if (srcIdx < 0) { return; }
Source& src = sources_[srcIdx];
for (const auto& fs : frame.signals) {
int sigIdx = findSignal(src, fs.name);
if (sigIdx < 0) { continue; }
size_t n = std::min(fs.t.size(), fs.v.size());
auto& buf = src.signals[sigIdx].buf;
for (size_t i = 0; i < n; i++) { buf.push(fs.t[i], fs.v[i]); }
}
}
/* ── JSON handlers (port of App.cpp) ─────────────────────────────────────── */
void Hub::onSources(const std::string& json) {
std::vector<SourceInfo> infos;
ParseSources(json, infos);
for (const auto& info : infos) {
int idx = findSource(info.id);
if (idx < 0) {
Source s;
s.id = info.id; s.label = info.label; s.addr = info.addr;
s.port = info.port; s.state = info.state;
sources_.push_back(std::move(s));
} else {
sources_[idx].state = info.state;
sources_[idx].label = info.label;
}
}
sources_.erase(std::remove_if(sources_.begin(), sources_.end(),
[&infos](const Source& s) {
for (const auto& i : infos) { if (i.id == s.id) { return false; } }
return true;
}), sources_.end());
/* Request config for any source not yet configured. */
for (auto& s : sources_) {
if (!s.configured) { sendGetConfig(s.id); }
}
Q_EMIT sourcesChanged();
}
void Hub::onConfig(const std::string& json) {
std::string sourceId;
int publishMode = 0;
std::vector<SignalMeta> metas;
if (!ParseConfig(json, sourceId, publishMode, metas)) { return; }
int idx = findSource(sourceId);
if (idx < 0) { return; }
Source& src = sources_[idx];
src.configured = true;
src.publishMode = publishMode;
for (size_t m = 0; m < metas.size(); m++) {
int si = findSignal(src, metas[m].name);
if (si < 0) {
SignalView sig;
sig.meta = metas[m];
sig.color = tracePalette(static_cast<int>(src.signals.size()));
src.signals.push_back(std::move(sig));
} else {
src.signals[si].meta = metas[m];
}
}
Q_EMIT configChanged(QString::fromStdString(sourceId));
}
void Hub::onStats(const std::string& json) {
std::vector<std::pair<std::string, SourceStats>> statsVec;
ParseStats(json, statsVec);
for (const auto& kv : statsVec) {
int idx = findSource(kv.first);
if (idx >= 0) {
sources_[idx].stats = kv.second;
sources_[idx].state = kv.second.state;
}
}
Q_EMIT statsChanged();
}
void Hub::onTriggerState(const std::string& json) {
TriggerStateMsg msg;
if (!ParseTriggerState(json, msg)) { return; }
trigger_.status = msg.state;
trigger_.stopped = msg.stopped;
if (msg.hasTrigTime) {
trigger_.trigTime = msg.trigTime;
trigger_.hasTrigTime = true;
}
if (msg.state == "idle") { trigger_.hasTrigTime = false; }
Q_EMIT triggerStateChanged();
}
static void routeZoom(PlotZoomCache* caches, const ZoomResponse& resp,
int& outPlot) {
outPlot = -1;
for (int i = 0; i < kMaxPlotSlots; i++) {
auto& zc = caches[i];
if (zc.pending && zc.reqId == resp.reqId) {
double dataT0 = 1e300, dataT1 = -1e300;
bool anyData = false;
for (const auto& zs : resp.signals) {
for (double tv : zs.t) {
if (tv < dataT0) { dataT0 = tv; }
if (tv > dataT1) { dataT1 = tv; }
anyData = true;
}
}
if (anyData) {
zc.pts = resp.signals;
zc.t0 = dataT0; zc.t1 = dataT1; zc.valid = true;
}
zc.pending = false;
outPlot = i;
return;
}
}
}
void Hub::onZoom(const std::string& json) {
ZoomResponse resp;
if (!ParseZoom(json, resp)) { return; }
int plot = -1;
routeZoom(zoomCache_, resp, plot);
if (plot >= 0) { Q_EMIT zoomReceived(plot); }
}
void Hub::onHistoryZoom(const std::string& json) {
ZoomResponse resp;
if (!ParseZoom(json, resp)) { return; }
int plot = -1;
routeZoom(histZoomCache_, resp, plot);
if (plot >= 0) { Q_EMIT historyZoomReceived(plot); }
}
void Hub::onHistoryInfo(const std::string& json) {
ParseHistoryInfo(json, historyInfo_);
Q_EMIT historyInfoChanged();
}
void Hub::onMaxPointsUpdated(const std::string& json) {
uint32_t mp = 0;
ParseMaxPointsUpdated(json, mp);
if (mp >= 2) {
maxPoints_ = mp;
for (auto& src : sources_) {
for (auto& sig : src.signals) { sig.buf.setCapacity(mp); }
}
Q_EMIT maxPointsChanged(mp);
}
}
/* ── helpers ─────────────────────────────────────────────────────────────── */
int Hub::findSource(const std::string& id) const {
for (int i = 0; i < static_cast<int>(sources_.size()); i++) {
if (sources_[i].id == id) { return i; }
}
return -1;
}
int Hub::findSignal(const Source& src, const std::string& name) const {
for (int i = 0; i < static_cast<int>(src.signals.size()); i++) {
if (src.signals[i].meta.name == name) { return i; }
}
return -1;
}
std::string Hub::slotKey(const PlotAssignment& a) const {
if (a.sourceIdx < 0 || a.sourceIdx >= static_cast<int>(sources_.size())) {
return std::string();
}
const Source& src = sources_[a.sourceIdx];
if (a.signalIdx < 0 || a.signalIdx >= static_cast<int>(src.signals.size())) {
return std::string();
}
return src.id + ":" + src.signals[a.signalIdx].meta.name;
}
/* ── commands ────────────────────────────────────────────────────────────── */
void Hub::sendGetSources() { ws_.sendText(BuildGetSources()); }
void Hub::sendGetStats() { ws_.sendText(BuildGetStats()); }
void Hub::sendGetConfig(const std::string& id) { ws_.sendText(BuildGetConfig(id)); }
void Hub::sendHistoryInfo(){ ws_.sendText(BuildHistoryInfo()); }
void Hub::sendAddSource(const std::string& label, const std::string& addr,
const std::string& mcast, uint16_t dataPort) {
ws_.sendText(BuildAddSource(label, addr, mcast, dataPort));
}
void Hub::sendRemoveSource(const std::string& id) {
ws_.sendText(BuildRemoveSource(id));
}
void Hub::sendSaveSources() { ws_.sendText(BuildSaveSources()); }
void Hub::sendSetMaxPoints(uint32_t n) { ws_.sendText(BuildSetMaxPoints(n)); }
void Hub::sendSetTrigger(const std::string& key, const std::string& edge,
double threshold, double windowSec, double prePercent,
const std::string& mode) {
ws_.sendText(BuildSetTrigger(key, edge, threshold, windowSec, prePercent, mode));
}
void Hub::sendArm() { ws_.sendText(BuildArm()); }
void Hub::sendDisarm() { ws_.sendText(BuildDisarm()); }
void Hub::sendRearm() { ws_.sendText(BuildRearm()); }
void Hub::sendTrigStop(bool s) { ws_.sendText(BuildTrigStop(s)); }
void Hub::requestZoom(int plotIdx, double t0, double t1, const std::string& csv) {
if (plotIdx < 0 || plotIdx >= kMaxPlotSlots) { return; }
if (!ws_.isConnected() || csv.empty()) { return; }
auto& zc = zoomCache_[plotIdx];
zc.reqId = nextZoomReqId_++;
zc.reqT0 = t0; zc.reqT1 = t1; zc.pending = true;
ws_.sendText(BuildZoom(zc.reqId, t0, t1, 2400, csv));
}
void Hub::requestHistoryZoom(int plotIdx, double t0, double t1,
const std::string& csv) {
if (plotIdx < 0 || plotIdx >= kMaxPlotSlots) { return; }
if (!ws_.isConnected() || csv.empty()) { return; }
auto& hc = histZoomCache_[plotIdx];
hc.reqId = nextZoomReqId_++;
hc.reqT0 = t0; hc.reqT1 = t1; hc.pending = true;
ws_.sendText(BuildHistoryZoom(hc.reqId, t0, t1, 2400, csv));
}
} /* namespace shq */
+125
View File
@@ -0,0 +1,125 @@
/**
* @file Hub.h
* @brief Central controller: owns the WS client, the source model, trigger
* state, capture, zoom caches and history info. Translates StreamHub WS
* messages into model updates and emits Qt signals for the UI.
*/
#pragma once
#include "Model.h"
#include "WsClient.h"
#include "Protocol.h"
#include <QObject>
#include <QString>
#include <vector>
#include <string>
#include <cstdint>
namespace shq {
/** Hi-res zoom cache (per plot; mirrors the ImGui client's PlotZoomCache). */
struct PlotZoomCache {
bool valid = false;
bool pending = false;
uint32_t reqId = 0;
double t0 = 0.0, t1 = 0.0; /* range of valid data */
double reqT0 = 0.0, reqT1 = 0.0; /* range of pending request */
std::vector<StreamHubClient::ZoomSignal> pts;
};
class Hub : public QObject {
Q_OBJECT
public:
explicit Hub(QObject* parent = nullptr);
void start(const QString& host, uint16_t port);
void reconnect(const QString& host, uint16_t port);
/* ---- Model access (GUI thread only) -------------------------------- */
std::vector<Source>& sources() { return sources_; }
const std::vector<Source>& sources() const { return sources_; }
TriggerCfgState& trigger() { return trigger_; }
const StreamHubClient::HistoryInfoMsg& historyInfo() const { return historyInfo_; }
uint32_t maxPoints() const { return maxPoints_; }
bool isConnected() const { return ws_.isConnected(); }
WsClient& ws() { return ws_; }
const StreamHubClient::CaptureFrame* capture() const {
return hasCapture_ ? &capture_ : nullptr;
}
void clearCapture() { hasCapture_ = false; }
PlotZoomCache& zoomCache(int i) { return zoomCache_[i]; }
PlotZoomCache& histZoomCache(int i) { return histZoomCache_[i]; }
int findSource(const std::string& id) const;
int findSignal(const Source& src, const std::string& name) const;
std::string slotKey(const PlotAssignment& a) const;
/* ---- Commands ------------------------------------------------------ */
void sendGetSources();
void sendGetStats();
void sendGetConfig(const std::string& sourceId);
void sendAddSource(const std::string& label, const std::string& addr,
const std::string& mcast, uint16_t dataPort);
void sendRemoveSource(const std::string& id);
void sendSaveSources();
void sendSetMaxPoints(uint32_t n);
void sendSetTrigger(const std::string& key, const std::string& edge,
double threshold, double windowSec, double prePercent,
const std::string& mode);
void sendArm();
void sendDisarm();
void sendRearm();
void sendTrigStop(bool stopped);
void requestZoom(int plotIdx, double t0, double t1, const std::string& csv);
void requestHistoryZoom(int plotIdx, double t0, double t1, const std::string& csv);
void sendHistoryInfo();
Q_SIGNALS:
void connectedChanged(bool connected);
void sourcesChanged();
void configChanged(const QString& sourceId);
void statsChanged();
void triggerStateChanged();
void captureReceived();
void zoomReceived(int plotIdx);
void historyZoomReceived(int plotIdx);
void historyInfoChanged();
void maxPointsChanged(uint32_t n);
private Q_SLOTS:
void onConnected(bool connected);
void onText(const QString& json);
void onBinary(const QByteArray& data);
private:
void onSources(const std::string& json);
void onConfig(const std::string& json);
void onStats(const std::string& json);
void onTriggerState(const std::string& json);
void onZoom(const std::string& json);
void onHistoryZoom(const std::string& json);
void onHistoryInfo(const std::string& json);
void onMaxPointsUpdated(const std::string& json);
WsClient ws_;
std::vector<Source> sources_;
TriggerCfgState trigger_;
uint32_t maxPoints_ = 1000000u;
StreamHubClient::CaptureFrame capture_;
bool hasCapture_ = false;
StreamHubClient::HistoryInfoMsg historyInfo_;
PlotZoomCache zoomCache_[kMaxPlotSlots];
PlotZoomCache histZoomCache_[kMaxPlotSlots];
uint32_t nextZoomReqId_ = 1;
double lastHistInfoReqMs_ = 0.0;
};
} /* namespace shq */
+322
View File
@@ -0,0 +1,322 @@
/**
* @file MainWindow.cpp
*/
#include "MainWindow.h"
#include "PlotGrid.h"
#include "SourceSidebar.h"
#include "TriggerBar.h"
#include "HistoryBar.h"
#include "StatsDialog.h"
#include "Theme.h"
#include <QToolBar>
#include <QToolButton>
#include <QComboBox>
#include <QLineEdit>
#include <QLabel>
#include <QTimer>
#include <QDockWidget>
#include <QMenu>
#include <QAction>
#include <QDialog>
#include <QFormLayout>
#include <QDialogButtonBox>
#include <QIntValidator>
#include <cmath>
namespace shq {
MainWindow::MainWindow(const QString& host, uint16_t port, QWidget* parent)
: QMainWindow(parent) {
setWindowTitle("StreamHub Qt Client");
resize(1280, 800);
/* ── Central plot grid ── */
grid_ = new PlotGrid(&hub_, &gv_, this);
setCentralWidget(grid_);
/* ── Source sidebar dock ── */
sidebar_ = new SourceSidebar(&hub_, this);
sideDock_ = new QDockWidget("Sources", this);
sideDock_->setWidget(sidebar_);
sideDock_->setFeatures(QDockWidget::DockWidgetMovable |
QDockWidget::DockWidgetClosable);
addDockWidget(Qt::LeftDockWidgetArea, sideDock_);
connect(sidebar_, &SourceSidebar::addSourceRequested,
this, &MainWindow::openAddSourceDialog);
/* ── Trigger bar (hidden until toggled) ── */
trigBar_ = new TriggerBar(&hub_, this);
auto* trigTb = new QToolBar("Trigger", this);
trigTb->setMovable(false);
trigTb->addWidget(trigBar_);
addToolBarBreak();
addToolBar(Qt::TopToolBarArea, trigTb);
trigTb->setVisible(false);
/* ── History bar (hidden until toggled) ── */
histBar_ = new HistoryBar(&hub_, grid_, this);
auto* histTb = new QToolBar("History", this);
histTb->setMovable(false);
histTb->addWidget(histBar_);
addToolBarBreak();
addToolBar(Qt::TopToolBarArea, histTb);
histTb->setVisible(false);
connect(histBar_, &HistoryBar::liveRequested, this, [this, histTb]() {
histTb->setVisible(false);
histBtn_->setChecked(false);
});
/* Keep the QToolBar pointers reachable from slots. */
trigBtn_ = nullptr; /* set in buildToolbar */
buildToolbar();
/* Wire trigger/history toggle buttons to their bars. */
connect(trigBtn_, &QToolButton::toggled, trigTb, &QToolBar::setVisible);
connect(histBtn_, &QToolButton::toggled, this, [this, histTb](bool on) {
if (on) {
const auto& hi = hub_.historyInfo();
if (hi.enabled && !hi.signals.empty()) {
histTb->setVisible(true);
histBar_->showAll();
} else {
histBtn_->setChecked(false);
}
} else {
histTb->setVisible(false);
grid_->goLive();
}
});
/* ── Hub signal wiring ── */
connect(&hub_, &Hub::connectedChanged, this, &MainWindow::onConnectedChanged);
connect(&hub_, &Hub::sourcesChanged, this, &MainWindow::onSourcesChanged);
connect(&hub_, &Hub::configChanged, this, &MainWindow::onConfigChanged);
connect(&hub_, &Hub::statsChanged, this, &MainWindow::onStatsChanged);
connect(&hub_, &Hub::triggerStateChanged, this, &MainWindow::onTriggerStateChanged);
connect(&hub_, &Hub::historyInfoChanged, this, &MainWindow::onHistoryInfoChanged);
/* ── 60 Hz repaint / refresh ── */
timer_ = new QTimer(this);
timer_->setInterval(16);
connect(timer_, &QTimer::timeout, this, &MainWindow::onTick);
timer_->start();
hostEdit_->setText(host);
portEdit_->setText(QString::number(port));
hub_.start(host, port);
onConnectedChanged(false);
}
/* ── Toolbar construction ────────────────────────────────────────────────── */
void MainWindow::buildToolbar() {
auto* tb = new QToolBar("Main", this);
tb->setMovable(false);
addToolBar(Qt::TopToolBarArea, tb);
/* Sidebar toggle. */
auto* sideBtn = new QToolButton(this);
sideBtn->setText("\u2630"); /* ≡ */
sideBtn->setCheckable(true);
sideBtn->setChecked(true);
sideBtn->setToolTip("Toggle sidebar");
connect(sideBtn, &QToolButton::toggled, sideDock_, &QDockWidget::setVisible);
connect(sideDock_, &QDockWidget::visibilityChanged, sideBtn, &QToolButton::setChecked);
tb->addWidget(sideBtn);
/* Layout picker. */
auto* layoutBtn = new QToolButton(this);
layoutBtn->setText("Layout");
layoutBtn->setPopupMode(QToolButton::InstantPopup);
auto* layMenu = new QMenu(layoutBtn);
const char* const* names = layoutNames();
for (int i = 0; i < static_cast<int>(PlotLayout::kCount); i++) {
QAction* a = layMenu->addAction(QString::fromUtf8(names[i]));
PlotLayout l = static_cast<PlotLayout>(i);
connect(a, &QAction::triggered, this, [this, l]() {
grid_->setLayout(l);
});
}
layoutBtn->setMenu(layMenu);
tb->addWidget(layoutBtn);
/* Pause. */
pauseBtn_ = new QToolButton(this);
pauseBtn_->setText("Pause");
pauseBtn_->setCheckable(true);
connect(pauseBtn_, &QToolButton::clicked, this, &MainWindow::togglePause);
tb->addWidget(pauseBtn_);
/* Cursors. */
cursorBtn_ = new QToolButton(this);
cursorBtn_->setText("Cursors");
cursorBtn_->setCheckable(true);
cursorBtn_->setToolTip("Cursors A/B");
connect(cursorBtn_, &QToolButton::toggled, this, [this](bool on) {
gv_.cursorsOn = on;
});
tb->addWidget(cursorBtn_);
/* Trigger toggle. */
trigBtn_ = new QToolButton(this);
trigBtn_->setText("Trigger");
trigBtn_->setCheckable(true);
connect(trigBtn_, &QToolButton::toggled, this, [this](bool on) {
gv_.trigView = on;
});
tb->addWidget(trigBtn_);
/* History toggle. */
histBtn_ = new QToolButton(this);
histBtn_->setText("History");
histBtn_->setCheckable(true);
histBtn_->setEnabled(false);
tb->addWidget(histBtn_);
/* Window presets. */
tb->addWidget(new QLabel(" Win ", this));
winCombo_ = new QComboBox(this);
winCombo_->setEditable(true);
static const double kWin[] = {1, 5, 10, 30, 60};
static const char* kWinL[] = {"1 s", "5 s", "10 s", "30 s", "60 s"};
for (int i = 0; i < 5; i++) { winCombo_->addItem(kWinL[i], kWin[i]); }
winCombo_->setCurrentIndex(2); /* 10 s */
connect(winCombo_, QOverload<int>::of(&QComboBox::currentIndexChanged),
this, [this](int i) {
if (i >= 0) { gv_.windowSec = winCombo_->itemData(i).toDouble(); }
});
connect(winCombo_->lineEdit(), &QLineEdit::editingFinished, this, [this]() {
double v = winCombo_->currentText().split(' ').first().toDouble();
if (v >= 1e-4 && v <= 3600.0) { gv_.windowSec = v; }
});
tb->addWidget(winCombo_);
/* Spacer pushes the rest to the right. */
auto* spacer = new QWidget(this);
spacer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
tb->addWidget(spacer);
/* Stats. */
auto* statsBtn = new QToolButton(this);
statsBtn->setText("Stats");
connect(statsBtn, &QToolButton::clicked, this, [this]() {
if (!stats_) { stats_ = new StatsDialog(&hub_, this); }
hub_.sendGetStats();
stats_->refresh();
stats_->show();
stats_->raise();
});
tb->addWidget(statsBtn);
/* Connection. */
tb->addWidget(new QLabel(" Host ", this));
hostEdit_ = new QLineEdit(this);
hostEdit_->setMaximumWidth(120);
tb->addWidget(hostEdit_);
portEdit_ = new QLineEdit(this);
portEdit_->setMaximumWidth(60);
portEdit_->setValidator(new QIntValidator(1, 65535, this));
tb->addWidget(portEdit_);
auto* connBtn = new QToolButton(this);
connBtn->setText("Connect");
connect(connBtn, &QToolButton::clicked, this, &MainWindow::doConnect);
tb->addWidget(connBtn);
ledLbl_ = new QLabel(" \u25cf Disconnected ", this);
tb->addWidget(ledLbl_);
}
/* ── Slots ───────────────────────────────────────────────────────────────── */
void MainWindow::togglePause() {
gv_.paused = pauseBtn_->isChecked();
pauseBtn_->setText(gv_.paused ? "Resume" : "Pause");
grid_->onPauseChanged();
}
void MainWindow::toggleHistory() { /* handled inline via histBtn_ toggle */ }
void MainWindow::doConnect() {
QString host = hostEdit_->text().trimmed();
uint16_t port = static_cast<uint16_t>(portEdit_->text().toUInt());
if (host.isEmpty() || port == 0) { return; }
hub_.reconnect(host, port);
}
void MainWindow::onConnectedChanged(bool connected) {
ledLbl_->setText(connected ? " \u25cf Connected " : " \u25cf Disconnected ");
ledLbl_->setStyleSheet(connected
? "color:#a6e3a1; font-weight:bold;"
: "color:#f38ba8; font-weight:bold;");
}
void MainWindow::onSourcesChanged() {
sidebar_->refresh();
trigBar_->refreshSignals();
grid_->onModelChanged();
}
void MainWindow::onConfigChanged(const QString&) {
sidebar_->refresh();
trigBar_->refreshSignals();
grid_->onModelChanged();
}
void MainWindow::onStatsChanged() {
if (stats_ && stats_->isVisible()) { stats_->refresh(); }
}
void MainWindow::onTriggerStateChanged() {
trigBar_->onTriggerStateChanged();
}
void MainWindow::onHistoryInfoChanged() {
const auto& hi = hub_.historyInfo();
histBtn_->setEnabled(hi.enabled && !hi.signals.empty());
}
void MainWindow::onTick() {
grid_->tick();
if (histBtn_->isChecked()) { histBar_->updateReadout(); }
}
/* ── Add-source dialog ───────────────────────────────────────────────────── */
void MainWindow::openAddSourceDialog() {
QDialog dlg(this);
dlg.setWindowTitle("Add Source");
auto* form = new QFormLayout(&dlg);
auto* label = new QLineEdit(&dlg);
auto* host = new QLineEdit("127.0.0.1", &dlg);
auto* port = new QLineEdit("44500", &dlg);
port->setValidator(new QIntValidator(1, 65535, &dlg));
auto* mcast = new QLineEdit(&dlg);
auto* dport = new QLineEdit("0", &dlg);
dport->setValidator(new QIntValidator(0, 65535, &dlg));
form->addRow("Label", label);
form->addRow("Host", host);
form->addRow("Port", port);
form->addRow("Multicast", mcast);
form->addRow("Data Port", dport);
auto* box = new QDialogButtonBox(
QDialogButtonBox::Ok | QDialogButtonBox::Cancel, &dlg);
form->addRow(box);
connect(box, &QDialogButtonBox::accepted, &dlg, &QDialog::accept);
connect(box, &QDialogButtonBox::rejected, &dlg, &QDialog::reject);
if (dlg.exec() != QDialog::Accepted) { return; }
QString h = host->text().trimmed();
int p = port->text().toInt();
if (h.isEmpty() || p <= 0 || p >= 65536) { return; }
std::string addr = h.toStdString() + ":" + std::to_string(p);
int dp = dport->text().toInt();
hub_.sendAddSource(label->text().toStdString(), addr,
mcast->text().toStdString(),
static_cast<uint16_t>((dp > 0 && dp < 65536) ? dp : 0));
}
} /* namespace shq */
+75
View File
@@ -0,0 +1,75 @@
/**
* @file MainWindow.h
* @brief Top-level window: toolbar, source dock, plot grid, trigger/history
* bars, stats dialog. Owns the Hub, the shared GlobalView, and the
* 60 Hz repaint/refresh timer.
*/
#pragma once
#include "Hub.h"
#include "PlotWidget.h" /* GlobalView */
#include <QMainWindow>
class QToolButton;
class QComboBox;
class QLineEdit;
class QLabel;
class QTimer;
class QDockWidget;
namespace shq {
class PlotGrid;
class SourceSidebar;
class TriggerBar;
class HistoryBar;
class StatsDialog;
class MainWindow : public QMainWindow {
Q_OBJECT
public:
explicit MainWindow(const QString& host, uint16_t port,
QWidget* parent = nullptr);
private Q_SLOTS:
void onConnectedChanged(bool connected);
void onSourcesChanged();
void onConfigChanged(const QString& sourceId);
void onStatsChanged();
void onTriggerStateChanged();
void onHistoryInfoChanged();
void onTick();
void togglePause();
void toggleHistory();
void openAddSourceDialog();
void doConnect();
private:
void buildToolbar();
Hub hub_;
GlobalView gv_;
PlotGrid* grid_ = nullptr;
SourceSidebar* sidebar_= nullptr;
QDockWidget* sideDock_ = nullptr;
TriggerBar* trigBar_= nullptr;
HistoryBar* histBar_= nullptr;
StatsDialog* stats_ = nullptr;
QToolButton* pauseBtn_ = nullptr;
QToolButton* cursorBtn_ = nullptr;
QToolButton* trigBtn_ = nullptr;
QToolButton* histBtn_ = nullptr;
QComboBox* winCombo_ = nullptr;
QLineEdit* hostEdit_ = nullptr;
QLineEdit* portEdit_ = nullptr;
QLabel* ledLbl_ = nullptr;
QTimer* timer_ = nullptr;
};
} /* namespace shq */
+120
View File
@@ -0,0 +1,120 @@
/**
* @file Model.h
* @brief Domain types for the Qt StreamHub client.
*
* Mirrors the ImGui client's App.h domain model, but uses QColor instead of
* ImVec4 and adds no Qt widget dependencies (pure data).
*/
#pragma once
#include "Protocol.h" // SignalMeta, SourceStats (reused, framework-free)
#include "SignalBuffer.h" // SignalBuffer, LTTBDecimate (reused)
#include <QColor>
#include <string>
#include <vector>
#include <cstdint>
namespace shq {
using StreamHubClient::SignalMeta;
using StreamHubClient::SourceStats;
using StreamHubClient::SignalBuffer;
/** One signal as known to the client. */
struct SignalView {
SignalMeta meta;
SignalBuffer buf{1000000};
QColor color{137, 180, 250}; /* Catppuccin blue */
double lineWidth = 1.5;
int marker = -1; /* -1 = none, else MarkerStyle index */
bool visible = true;
};
/** One connected UDPStreamer source. */
struct Source {
std::string id;
std::string label;
std::string addr;
std::string state = "disconnected";
uint32_t port = 0;
bool configured = false;
int publishMode = 0;
std::vector<SignalView> signals;
SourceStats stats;
};
/** Trigger configuration + live state (hub-side trigger semantics). */
struct TriggerCfgState {
/* Config (sent to hub via setTrigger) */
std::string signalKey; /* full key "src:sig" or "src:sig[i]" */
int edge = 0; /* 0=rising 1=falling 2=both */
double threshold = 0.0;
double windowSec = 0.1; /* 100 µs .. 10 s */
double prePercent = 20.0;
bool single = false; /* false=normal true=single */
/* Live (driven by hub triggerState broadcasts) */
std::string status = "idle"; /* idle|armed|collecting|triggered */
bool stopped = false;
bool hasTrigTime = false;
double trigTime = 0.0;
};
/** Per-signal vertical scale state (oscilloscope style). */
struct VScale {
int mode = 0; /* 0=auto 1=range 2=manual */
double divValue = 1.0; /* units per division (manual) */
double offset = 0.0; /* raw value at center (manual) */
double screenPos = 0.0; /* position offset in divisions from center */
bool digitalInMixed = false;
/* Resolved each frame: */
double resolvedDiv = 1.0;
double resolvedOffset = 0.0;
};
/** Assignment of one signal to a plot panel. */
struct PlotAssignment {
int sourceIdx = -1;
int signalIdx = -1;
VScale vs;
};
/*---------------------------------------------------------------------------*/
/* Plot layouts (mirror the web UI: cols×rows) */
/*---------------------------------------------------------------------------*/
enum class PlotLayout {
k1x1 = 0, k2x1, k1x2, k3x1, k1x3, k2x2, k4x1, k1x4, kCount
};
inline const char* const* layoutNames() {
static const char* const names[] = {
"1\u00d71", "2\u00d71", "1\u00d72", "3\u00d71",
"1\u00d73", "2\u00d72", "4\u00d71", "1\u00d74"
};
return names;
}
inline void layoutDims(PlotLayout l, int& cols, int& rows) {
switch (l) {
case PlotLayout::k1x1: cols = 1; rows = 1; break;
case PlotLayout::k2x1: cols = 2; rows = 1; break;
case PlotLayout::k1x2: cols = 1; rows = 2; break;
case PlotLayout::k3x1: cols = 3; rows = 1; break;
case PlotLayout::k1x3: cols = 1; rows = 3; break;
case PlotLayout::k2x2: cols = 2; rows = 2; break;
case PlotLayout::k4x1: cols = 4; rows = 1; break;
case PlotLayout::k1x4: cols = 1; rows = 4; break;
default: cols = 1; rows = 1; break;
}
}
inline int layoutSlots(PlotLayout l) {
int c, r; layoutDims(l, c, r); return c * r;
}
static const int kMaxPlotSlots = 8;
} /* namespace shq */
+138
View File
@@ -0,0 +1,138 @@
/**
* @file PlotGrid.cpp
*/
#include "PlotGrid.h"
#include "PlotWidget.h"
#include "Hub.h"
#include <QVBoxLayout>
#include <QSplitter>
#include <QDateTime>
namespace shq {
static double nowSec() {
return QDateTime::currentMSecsSinceEpoch() / 1000.0;
}
PlotGrid::PlotGrid(Hub* hub, GlobalView* gv, QWidget* parent)
: QWidget(parent), hub_(hub), gv_(gv) {
/* Persistent pool: one PlotWidget per slot, fixed plotIdx (== zoom cache
* index). Plots beyond the current layout are simply not mounted. */
pool_.reserve(kMaxPlotSlots);
for (int i = 0; i < kMaxPlotSlots; i++) {
auto* p = new PlotWidget(hub_, gv_, i, this);
connect(hub_, &Hub::zoomReceived, p, &PlotWidget::onZoomReceived);
connect(hub_, &Hub::historyZoomReceived, p, &PlotWidget::onHistoryZoomReceived);
connect(hub_, &Hub::captureReceived, p, &PlotWidget::onCaptureReceived);
p->setParent(nullptr);
p->hide();
pool_.push_back(p);
}
auto* lay = new QVBoxLayout(this);
lay->setContentsMargins(0, 0, 0, 0);
rebuild();
}
void PlotGrid::setLayout(PlotLayout l) {
if (l == layout_) { return; }
layout_ = l;
rebuild();
}
void PlotGrid::rebuild() {
/* Detach every pooled plot from any previous splitter. */
for (auto* p : pool_) { p->setParent(this); p->hide(); }
/* Drop the old root splitter (if any). */
QLayout* lay = this->QWidget::layout();
QLayoutItem* item;
while ((item = lay->takeAt(0)) != nullptr) {
if (QWidget* w = item->widget()) {
if (qobject_cast<QSplitter*>(w)) { w->deleteLater(); }
}
delete item;
}
int cols, rows;
layoutDims(layout_, cols, rows);
auto* outer = new QSplitter(Qt::Vertical, this);
outer->setChildrenCollapsible(false);
outer->setHandleWidth(5);
plots_.clear();
for (int r = 0; r < rows; r++) {
QSplitter* rowSplit = outer;
if (cols > 1) {
rowSplit = new QSplitter(Qt::Horizontal, outer);
rowSplit->setChildrenCollapsible(false);
rowSplit->setHandleWidth(5);
}
for (int c = 0; c < cols; c++) {
int idx = r * cols + c;
PlotWidget* p = pool_[idx];
p->setParent(rowSplit);
p->show();
if (cols > 1) { rowSplit->addWidget(p); }
else { outer->addWidget(p); }
plots_.push_back(p);
}
if (cols > 1) { outer->addWidget(rowSplit); }
}
lay->addWidget(outer);
onModelChanged();
}
void PlotGrid::onModelChanged() { for (auto* p : plots_) { p->onModelChanged(); } }
void PlotGrid::onPauseChanged() { for (auto* p : plots_) { p->onPauseChanged(); } }
void PlotGrid::tick() { for (auto* p : plots_) { p->tick(); } }
void PlotGrid::goLive() {
for (auto* p : plots_) { p->setLive(true); }
}
void PlotGrid::setAllStoredX(double t0, double t1) {
if (t1 <= t0) { return; }
for (auto* p : plots_) { p->setLive(false); p->setStoredX(t0, t1); }
}
bool PlotGrid::anyNonLive() const {
for (auto* p : plots_) { if (!p->isLive()) { return true; } }
return false;
}
bool PlotGrid::currentRange(double& t0, double& t1) const {
for (auto* p : plots_) {
if (!p->isLive()) { t0 = p->xMin(); t1 = p->xMax(); return true; }
}
return false;
}
void PlotGrid::panAll(double frac) {
const double wallNow = nowSec();
for (auto* p : plots_) {
if (p->isLive()) { continue; }
double span = p->xMax() - p->xMin();
if (span <= 0.0) { continue; }
double d = span * frac;
double mn = p->xMin() + d, mx = p->xMax() + d;
if (mx > wallNow) { mx = wallNow; mn = mx - span; }
p->setStoredX(mn, mx);
}
}
void PlotGrid::jumpAllAgo(double secAgo) {
const double wallNow = nowSec();
for (auto* p : plots_) {
double span = p->xMax() - p->xMin();
if (span <= 0.0) { span = gv_->windowSec; }
p->setLive(false);
p->setStoredX(wallNow - secAgo - span, wallNow - secAgo);
}
}
} /* namespace shq */
+61
View File
@@ -0,0 +1,61 @@
/**
* @file PlotGrid.h
* @brief Resizable grid of PlotWidgets realising the selected PlotLayout.
*
* Built from nested QSplitters (rows of columns) so cells are user-resizable,
* mirroring the ImGui draggable separators. Holds up to kMaxPlotSlots plots,
* fans out the 60 Hz tick / model / pause notifications, and drives the
* history navigation (live ⇄ stored-X) for all visible plots.
*/
#pragma once
#include "Model.h"
#include <QWidget>
#include <vector>
namespace shq {
class Hub;
struct GlobalView;
class PlotWidget;
class PlotGrid : public QWidget {
Q_OBJECT
public:
PlotGrid(Hub* hub, GlobalView* gv, QWidget* parent = nullptr);
void setLayout(PlotLayout l);
PlotLayout layout() const { return layout_; }
int numSlots() const { return layoutSlots(layout_); }
/** Visible plots (size == numSlots()). */
const std::vector<PlotWidget*>& plots() const { return plots_; }
public Q_SLOTS:
void onModelChanged();
void onPauseChanged();
void tick();
/** History navigation helpers (operate on all visible plots). */
void goLive();
void setAllStoredX(double t0, double t1);
void panAll(double frac); /* +right / -left, frac of span */
void jumpAllAgo(double secAgo); /* set window ending secAgo before now */
bool anyNonLive() const;
/** Current stored range of the first non-live plot (false if all live). */
bool currentRange(double& t0, double& t1) const;
private:
void rebuild();
Hub* hub_;
GlobalView* gv_;
PlotLayout layout_ = PlotLayout::k1x1;
std::vector<PlotWidget*> plots_; /* currently mounted (== numSlots) */
std::vector<PlotWidget*> pool_; /* all kMaxPlotSlots, persistent */
};
} /* namespace shq */
+885
View File
@@ -0,0 +1,885 @@
/**
* @file PlotWidget.cpp
*/
#include "PlotWidget.h"
#include "Hub.h"
#include "Theme.h"
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QToolButton>
#include <QLabel>
#include <QPainter>
#include <QPainterPath>
#include <QMouseEvent>
#include <QWheelEvent>
#include <QDragEnterEvent>
#include <QDropEvent>
#include <QMimeData>
#include <QMenu>
#include <QColorDialog>
#include <QInputDialog>
#include <QDateTime>
#include <QPolygonF>
#include <algorithm>
#include <cmath>
#include <cstdio>
using namespace StreamHubClient;
namespace shq {
static const char* kMimeSignal = "application/x-shq-signal";
static const size_t kMaxPush = 2400;
static const double kLiveHiResMaxWin = 600.0;
static double nowSec() {
return QDateTime::currentMSecsSinceEpoch() / 1000.0;
}
/* ── ported math helpers ─────────────────────────────────────────────────── */
static QString fmtVal(double v) {
if (!std::isfinite(v)) { return QStringLiteral("?"); }
char buf[32];
double a = std::fabs(v);
if (v == 0.0) std::snprintf(buf, sizeof(buf), "0");
else if (a >= 1e4 || a < 1e-3) std::snprintf(buf, sizeof(buf), "%.2e", v);
else std::snprintf(buf, sizeof(buf), "%.3g", v);
return QString::fromLatin1(buf);
}
static void resolveVScale(PlotAssignment& a, const SignalView& sig,
const std::vector<double>& rawV) {
if (a.vs.mode == 1) {
double rmin = sig.meta.rangeMin, rmax = sig.meta.rangeMax;
if (rmax > rmin) {
a.vs.resolvedDiv = std::max((rmax - rmin) / 8.0, 1e-30);
a.vs.resolvedOffset = (rmin + rmax) / 2.0;
return;
}
}
if (a.vs.mode == 2) {
a.vs.resolvedDiv = std::max(a.vs.divValue, 1e-30);
a.vs.resolvedOffset = a.vs.offset;
return;
}
double mn = 1e300, mx = -1e300;
for (double v : rawV) { if (v < mn) mn = v; if (v > mx) mx = v; }
if (!std::isfinite(mn) || mn > mx) { mn = -1.0; mx = 1.0; }
if (mn == mx) { mn -= 1.0; mx += 1.0; }
a.vs.resolvedDiv = std::max((mx - mn) / 6.0, 1e-30);
a.vs.resolvedOffset = (mx + mn) / 2.0;
}
static double normalizeY(double raw, const VScale& vs) {
return (raw - vs.resolvedOffset) / vs.resolvedDiv + vs.screenPos;
}
static bool dataMinMax(const std::vector<double>& v, double& mn, double& mx) {
mn = 1e300; mx = -1e300;
for (double x : v) { if (std::isfinite(x)) { if (x < mn) mn = x; if (x > mx) mx = x; } }
return mx >= mn;
}
static void bandNormalize(const std::vector<double>& raw, std::vector<double>& out,
int ki, int n, bool quantize) {
double bandH = 8.0 / std::max(n, 1);
double centerY = 4.0 - (ki + 0.5) * bandH;
double hi = centerY + bandH * 0.35;
double lo = centerY - bandH * 0.35;
double mn, mx;
bool haveMM = dataMinMax(raw, mn, mx);
out.resize(raw.size());
if (quantize) {
double thr = haveMM ? (mn + mx) / 2.0 : 0.5;
for (size_t i = 0; i < raw.size(); i++) {
double v = raw[i];
out[i] = !std::isfinite(v) ? NAN : (v >= thr ? hi : lo);
}
} else {
if (!haveMM) { mn = 0.0; mx = 1.0; }
if (mn == mx) { mn -= 1.0; mx += 1.0; }
double range = mx - mn, bandRange = hi - lo;
for (size_t i = 0; i < raw.size(); i++) {
double v = raw[i];
out[i] = !std::isfinite(v) ? NAN : lo + (v - mn) / range * bandRange;
}
}
}
static double sampleAt(const std::vector<double>& t, const std::vector<double>& v,
double x) {
if (t.empty() || v.size() != t.size()) { return NAN; }
auto it = std::lower_bound(t.begin(), t.end(), x);
size_t i = static_cast<size_t>(it - t.begin());
if (i >= t.size()) { i = t.size() - 1; }
else if (i > 0 && (x - t[i-1]) < (t[i] - x)) { i--; }
return v[i];
}
/*===========================================================================*/
/* PlotCanvas */
/*===========================================================================*/
class PlotCanvas : public QWidget {
public:
explicit PlotCanvas(PlotWidget* w) : QWidget(w), w_(w) {
setMinimumSize(80, 60);
setAcceptDrops(true);
setMouseTracking(true);
}
protected:
void paintEvent(QPaintEvent*) override;
void wheelEvent(QWheelEvent* e) override;
void mousePressEvent(QMouseEvent* e) override;
void mouseMoveEvent(QMouseEvent* e) override;
void mouseReleaseEvent(QMouseEvent* e) override;
void dragEnterEvent(QDragEnterEvent* e) override;
void dropEvent(QDropEvent* e) override;
private:
/* geometry of the plot drawing rect */
QRectF plotRect() const {
const double L = 56, R = 12, T = 8, B = 24;
return QRectF(L, T, std::max(10.0, width() - L - R),
std::max(10.0, height() - T - B));
}
double xToPx(double t, double xMin, double xMax, const QRectF& r) const {
if (xMax <= xMin) return r.left();
return r.left() + (t - xMin) / (xMax - xMin) * r.width();
}
double pxToX(double px, double xMin, double xMax, const QRectF& r) const {
if (r.width() <= 0) return xMin;
return xMin + (px - r.left()) / r.width() * (xMax - xMin);
}
double yToPx(double yDiv, const QRectF& r) const {
return r.top() + (4.05 - yDiv) / 8.10 * r.height();
}
void drawMarker(QPainter& p, double cx, double cy, int marker, double sz);
PlotWidget* w_;
/* interaction state */
bool panning_ = false;
int dragCursor_ = 0; /* 0 none, 1 A, 2 B */
QPoint lastPos_;
double curXMin_ = 0, curXMax_ = 1; /* last painted X range (for hit-test) */
};
void PlotCanvas::drawMarker(QPainter& p, double cx, double cy, int marker, double sz) {
double h = sz;
switch (marker) {
case 0: p.drawEllipse(QPointF(cx, cy), h, h); break; /* circle */
case 1: p.drawRect(QRectF(cx-h, cy-h, 2*h, 2*h)); break; /* square */
case 2: { QPolygonF d; d << QPointF(cx,cy-h)<<QPointF(cx+h,cy)
<<QPointF(cx,cy+h)<<QPointF(cx-h,cy); p.drawPolygon(d); } break;
case 3: { QPolygonF u; u<<QPointF(cx,cy-h)<<QPointF(cx+h,cy+h)
<<QPointF(cx-h,cy+h); p.drawPolygon(u); } break; /* up */
case 4: { QPolygonF d; d<<QPointF(cx,cy+h)<<QPointF(cx+h,cy-h)
<<QPointF(cx-h,cy-h); p.drawPolygon(d); } break; /* down */
case 7: p.drawLine(QPointF(cx-h,cy-h),QPointF(cx+h,cy+h));
p.drawLine(QPointF(cx-h,cy+h),QPointF(cx+h,cy-h)); break;/* cross */
case 8: p.drawLine(QPointF(cx-h,cy),QPointF(cx+h,cy));
p.drawLine(QPointF(cx,cy-h),QPointF(cx,cy+h)); break; /* plus */
default: p.drawEllipse(QPointF(cx, cy), h, h); break;
}
}
void PlotCanvas::paintEvent(QPaintEvent*) {
QPainter p(this);
p.setRenderHint(QPainter::Antialiasing, true);
Hub* hub = w_->hub_;
GlobalView* gv = w_->gv_;
auto& slots = w_->slots_;
auto& sources = hub->sources();
const QRectF r = plotRect();
const double wallNow = nowSec();
/* background + border */
p.fillRect(rect(), col::base());
p.fillRect(r, col::crust());
const CaptureFrame* cap = hub->capture();
const bool trigView = (cap != nullptr) && gv->trigView;
auto& zc = hub->zoomCache(w_->plotIdx_);
auto& hc = hub->histZoomCache(w_->plotIdx_);
const bool paused = w_->paused_;
bool& live = w_->live_;
/* ── pause snapshot ─────────────────────────────────────────────────── */
auto& snap = w_->snap_;
if (paused) {
if (!snap.valid) {
snap.keys.clear(); snap.t.clear(); snap.v.clear();
for (const auto& a : slots) {
std::vector<double> tt, vv;
if (a.sourceIdx >= 0 && a.sourceIdx < (int)sources.size() &&
a.signalIdx >= 0 &&
a.signalIdx < (int)sources[a.sourceIdx].signals.size()) {
sources[a.sourceIdx].signals[a.signalIdx]
.buf.readLast((size_t)hub->maxPoints(), tt, vv);
}
snap.keys.push_back(hub->slotKey(a));
snap.t.push_back(std::move(tt));
snap.v.push_back(std::move(vv));
}
snap.valid = true;
if (live) { w_->initPlotX(wallNow); live = false; }
}
} else if (snap.valid) {
snap.valid = false;
}
/* ── gather data per slot ───────────────────────────────────────────── */
std::vector<std::vector<double>> tStore(slots.size()), vStore(slots.size());
const bool liveHiRes = !trigView && live && !paused &&
gv->windowSec <= kLiveHiResMaxWin && zc.valid &&
(zc.t1 - zc.t0) >= gv->windowSec * 0.9 && (wallNow - zc.t1) < 3.0;
const bool useZoomData = !trigView && !paused && zc.valid &&
(liveHiRes ||
(!live && zc.t0 <= w_->plotXMin_ + 1e-9 && zc.t1 >= w_->plotXMax_ - 1e-9));
bool useHistData = !trigView && !paused && !live && hc.valid &&
hc.t0 <= w_->plotXMin_ + 1e-9 && hc.t1 >= w_->plotXMax_ - 1e-9;
if (useHistData) {
bool any = false;
for (const auto& hs : hc.pts) { if (!hs.t.empty()) { any = true; break; } }
if (!any) { useHistData = false; }
}
auto readBase = [&](size_t si, const SignalView& sig, const std::string& key) {
if (paused && snap.valid) {
for (size_t k = 0; k < snap.keys.size(); k++) {
if (snap.keys[k] == key) { tStore[si] = snap.t[k]; vStore[si] = snap.v[k]; return; }
}
}
sig.buf.readLast((size_t)hub->maxPoints(), tStore[si], vStore[si]);
};
for (size_t si = 0; si < slots.size(); si++) {
auto& a = slots[si];
if (a.sourceIdx < 0 || a.sourceIdx >= (int)sources.size()) continue;
if (a.signalIdx < 0 || a.signalIdx >= (int)sources[a.sourceIdx].signals.size()) continue;
const auto& sig = sources[a.sourceIdx].signals[a.signalIdx];
const std::string key = hub->slotKey(a);
if (trigView) {
for (const auto& cs : cap->signals) {
if (cs.key != key) continue;
size_t n = std::min(cs.t.size(), cs.v.size());
tStore[si].reserve(n); vStore[si].reserve(n);
for (size_t i = 0; i < n; i++) {
tStore[si].push_back(cs.t[i] - cap->trigTime);
vStore[si].push_back(cs.v[i]);
}
break;
}
} else if (useZoomData) {
bool found = false;
for (const auto& zs : zc.pts) {
if (zs.name != key) continue;
tStore[si] = zs.t; vStore[si] = zs.v; found = true; break;
}
if (!found) readBase(si, sig, key);
} else if (useHistData) {
bool found = false;
for (const auto& hs : hc.pts) {
if (hs.name != key) continue;
tStore[si] = hs.t; vStore[si] = hs.v; found = true; break;
}
if (!found) readBase(si, sig, key);
} else {
readBase(si, sig, key);
}
resolveVScale(a, sig, vStore[si]);
}
/* ── X range ────────────────────────────────────────────────────────── */
double xMin, xMax;
if (trigView) {
if (w_->trigZoomed_) { xMin = w_->plotXMin_; xMax = w_->plotXMax_; }
else { xMin = -cap->preSec; xMax = cap->postSec; }
} else if (live && !paused) {
if (liveHiRes) { xMax = zc.t1; xMin = zc.t1 - gv->windowSec; }
else { xMax = wallNow; xMin = wallNow - gv->windowSec; }
} else {
xMin = w_->plotXMin_; xMax = w_->plotXMax_;
}
if (xMax <= xMin) { xMax = xMin + 1.0; }
curXMin_ = xMin; curXMax_ = xMax;
/* ── grid + ticks ───────────────────────────────────────────────────── */
p.setPen(QPen(QColor(0x31,0x32,0x44,160), 1.0));
/* Y grid: 9 division lines */
const auto& av = (w_->vMode_ == 0 && w_->activeSlot_ >= 0 &&
w_->activeSlot_ < (int)slots.size())
? slots[w_->activeSlot_].vs : VScale();
p.setFont(QFont(font().family(), 8));
for (int d = -4; d <= 4; d++) {
double y = yToPx(d, r);
p.setPen(QPen(QColor(0x31,0x32,0x44, d==0?220:120), d==0?1.2:1.0));
p.drawLine(QPointF(r.left(), y), QPointF(r.right(), y));
QString lbl;
if (w_->vMode_ == 0 && w_->activeSlot_ >= 0 &&
w_->activeSlot_ < (int)slots.size()) {
double rawVal = av.resolvedOffset + (d - av.screenPos) * av.resolvedDiv;
lbl = fmtVal(rawVal);
} else {
lbl = QString::number(d);
}
p.setPen(QColor(0xa6,0xad,0xc8));
p.drawText(QRectF(0, y-8, r.left()-4, 16),
Qt::AlignRight|Qt::AlignVCenter, lbl);
}
/* X grid: 11 ticks */
for (int t = 0; t <= 10; t++) {
double xv = xMin + (xMax - xMin) * t / 10.0;
double x = xToPx(xv, xMin, xMax, r);
p.setPen(QPen(QColor(0x31,0x32,0x44,120), 1.0));
p.drawLine(QPointF(x, r.top()), QPointF(x, r.bottom()));
p.setPen(QColor(0xa6,0xad,0xc8));
QString xl = trigView ? fmtVal(xv) + "s" : QString::number(xv, 'f', 3);
int flags = (t==0?Qt::AlignLeft:(t==10?Qt::AlignRight:Qt::AlignHCenter))
| Qt::AlignTop;
p.drawText(QRectF(x-40, r.bottom()+2, 80, 14), flags, xl);
}
p.setPen(QPen(col::surface0(), 1.0));
p.drawRect(r);
/* clip drawing to the plot rect */
p.save();
p.setClipRect(r);
/* ── clip data to visible window, LTTB, normalize, draw ─────────────── */
int nTraces = 0;
for (const auto& a : slots) {
if (a.sourceIdx >= 0 && a.sourceIdx < (int)sources.size()) nTraces++;
}
std::vector<double> tDec, vDec, vNorm;
int ki = 0;
for (size_t si = 0; si < slots.size(); si++) {
auto& a = slots[si];
if (a.sourceIdx < 0 || a.sourceIdx >= (int)sources.size()) continue;
if (a.signalIdx < 0 || a.signalIdx >= (int)sources[a.sourceIdx].signals.size()) continue;
const auto& sig = sources[a.sourceIdx].signals[a.signalIdx];
int myKi = ki++;
if (!sig.visible) continue;
auto tv = tStore[si];
auto vv = vStore[si];
if (tv.empty()) continue;
/* clip to [xMin,xMax] keeping one sample each side */
auto lo = std::lower_bound(tv.begin(), tv.end(), xMin);
auto hi = std::upper_bound(lo, tv.end(), xMax);
if (lo != tv.begin()) --lo;
if (hi != tv.end()) ++hi;
size_t i0 = (size_t)(lo - tv.begin());
size_t i1 = (size_t)(hi - tv.begin());
if (i0 > 0 || i1 < tv.size()) {
tv = std::vector<double>(tv.begin()+i0, tv.begin()+i1);
vv = std::vector<double>(vv.begin()+i0, vv.begin()+i1);
}
if (tv.empty()) continue;
size_t nOut = LTTBDecimate(tv, vv, tDec, vDec, kMaxPush);
if (nOut == 0) continue;
if (w_->vMode_ == 1) bandNormalize(vDec, vNorm, myKi, nTraces, true);
else if (w_->vMode_ == 2) bandNormalize(vDec, vNorm, myKi, nTraces, a.vs.digitalInMixed);
else {
vNorm.resize(nOut);
for (size_t k = 0; k < nOut; k++) vNorm[k] = normalizeY(vDec[k], a.vs);
}
QColor c = sig.color;
p.setPen(QPen(c, sig.lineWidth));
QPolygonF poly;
poly.reserve((int)nOut);
for (size_t k = 0; k < nOut; k++) {
if (!std::isfinite(vNorm[k])) {
if (poly.size() > 1) p.drawPolyline(poly);
poly.clear();
continue;
}
poly << QPointF(xToPx(tDec[k], xMin, xMax, r), yToPx(vNorm[k], r));
}
if (poly.size() > 1) p.drawPolyline(poly);
else if (poly.size() == 1) p.drawPoint(poly.front());
if (sig.marker >= 0) {
p.setBrush(c);
for (const QPointF& pt : poly) drawMarker(p, pt.x(), pt.y(), sig.marker, 2.5);
p.setBrush(Qt::NoBrush);
}
}
/* trigger instant marker at t=0 */
if (trigView) {
double x = xToPx(0.0, xMin, xMax, r);
p.setPen(QPen(QColor(255,255,0,200), 1.5, Qt::DashLine));
p.drawLine(QPointF(x, r.top()), QPointF(x, r.bottom()));
}
/* cursors A/B */
if (gv->cursorsOn) {
bool aBeyond = (gv->cursorA < xMin || gv->cursorA > xMax);
bool bBeyond = (gv->cursorB < xMin || gv->cursorB > xMax);
if (aBeyond && bBeyond) {
gv->cursorA = xMin + (xMax-xMin)*0.25;
gv->cursorB = xMin + (xMax-xMin)*0.75;
}
double xa = xToPx(gv->cursorA, xMin, xMax, r);
double xb = xToPx(gv->cursorB, xMin, xMax, r);
p.setPen(QPen(col::peach(), 1.2));
p.drawLine(QPointF(xa, r.top()), QPointF(xa, r.bottom()));
p.drawText(QPointF(xa+2, r.top()+12), "A");
p.setPen(QPen(col::mauve(), 1.2));
p.drawLine(QPointF(xb, r.top()), QPointF(xb, r.bottom()));
p.drawText(QPointF(xb+2, r.top()+12), "B");
}
p.restore();
/* update cursor readout label + HIST flag handled in PlotWidget::tick */
w_->cursorLbl_->setVisible(gv->cursorsOn);
if (gv->cursorsOn) {
double dT = gv->cursorB - gv->cursorA;
QString s = QString("dT=%1s 1/dT=%2Hz")
.arg(fmtVal(dT))
.arg(fmtVal(dT != 0.0 ? 1.0/std::fabs(dT) : 0.0));
for (size_t si = 0; si < slots.size(); si++) {
auto& a = slots[si];
if (a.sourceIdx < 0 || a.sourceIdx >= (int)sources.size()) continue;
if (tStore[si].empty()) continue;
const auto& sig = sources[a.sourceIdx].signals[a.signalIdx];
double vA = sampleAt(tStore[si], vStore[si], gv->cursorA);
double vB = sampleAt(tStore[si], vStore[si], gv->cursorB);
s += QString(" %1: A=%2 B=%3 d=%4")
.arg(QString::fromStdString(sig.meta.name))
.arg(fmtVal(vA)).arg(fmtVal(vB)).arg(fmtVal(vB-vA));
}
w_->cursorLbl_->setText(s);
}
}
/* ── interaction ─────────────────────────────────────────────────────────── */
void PlotCanvas::wheelEvent(QWheelEvent* e) {
Hub* hub = w_->hub_;
GlobalView* gv = w_->gv_;
auto& slots = w_->slots_;
const CaptureFrame* cap = hub->capture();
const bool trigView = (cap != nullptr) && gv->trigView;
bool& live = w_->live_;
double dy = e->angleDelta().y();
if (dy == 0.0) { e->ignore(); return; }
const double factor = (dy > 0) ? 0.8 : 1.25;
const bool ctrl = e->modifiers() & Qt::ControlModifier;
const bool shift = e->modifiers() & Qt::ShiftModifier;
const double now = nowSec();
auto enterTrigZoom = [&]() {
if (trigView && !w_->trigZoomed_) {
w_->setStoredX(-cap->preSec, cap->postSec);
w_->trigZoomed_ = true;
}
};
auto xZoomStored = [&](double f) {
if (trigView) enterTrigZoom();
if (now - w_->lastHistPushMs_ > 0.6) { w_->pushZoomHist(); w_->lastHistPushMs_ = now; }
double cx = (w_->plotXMin_ + w_->plotXMax_) * 0.5;
double half = (w_->plotXMax_ - w_->plotXMin_) * 0.5 * f;
w_->setStoredX(cx - half, cx + half);
};
auto makeManual = [&](PlotAssignment& a) {
if (a.vs.mode != 2) {
a.vs.divValue = std::max(a.vs.resolvedDiv, 1e-30);
a.vs.offset = a.vs.resolvedOffset;
a.vs.mode = 2;
}
};
if (ctrl) {
if (!trigView && live) gv->windowSec = std::clamp(gv->windowSec*factor, 1e-4, 3600.0);
else xZoomStored(factor);
} else if (shift) {
if (w_->activeSlot_ >= 0 && w_->activeSlot_ < (int)slots.size()) {
auto& a = slots[w_->activeSlot_];
makeManual(a);
a.vs.screenPos += (dy > 0) ? 0.5 : -0.5;
}
} else {
if (w_->activeSlot_ >= 0 && w_->activeSlot_ < (int)slots.size()) {
auto& a = slots[w_->activeSlot_];
makeManual(a);
a.vs.divValue = std::max(a.vs.divValue * factor, 1e-30);
} else {
if (!trigView && live) gv->windowSec = std::clamp(gv->windowSec*factor, 1e-4, 3600.0);
else xZoomStored(factor);
}
}
update();
e->accept();
}
void PlotCanvas::mousePressEvent(QMouseEvent* e) {
GlobalView* gv = w_->gv_;
const QRectF r = plotRect();
lastPos_ = e->pos();
if (e->button() == Qt::LeftButton && gv->cursorsOn) {
double xa = xToPx(gv->cursorA, curXMin_, curXMax_, r);
double xb = xToPx(gv->cursorB, curXMin_, curXMax_, r);
if (std::fabs(e->pos().x() - xa) < 6) { dragCursor_ = 1; return; }
if (std::fabs(e->pos().x() - xb) < 6) { dragCursor_ = 2; return; }
}
if (e->button() == Qt::RightButton) { panning_ = true; }
}
void PlotCanvas::mouseMoveEvent(QMouseEvent* e) {
GlobalView* gv = w_->gv_;
Hub* hub = w_->hub_;
const QRectF r = plotRect();
const CaptureFrame* cap = hub->capture();
const bool trigView = (cap != nullptr) && gv->trigView;
bool& live = w_->live_;
if (dragCursor_ != 0) {
double x = pxToX(e->pos().x(), curXMin_, curXMax_, r);
if (dragCursor_ == 1) gv->cursorA = x; else gv->cursorB = x;
update();
return;
}
if (panning_) {
if (trigView && !w_->trigZoomed_) {
w_->setStoredX(-cap->preSec, cap->postSec);
w_->trigZoomed_ = true;
}
if (!trigView && live) { w_->initPlotX(nowSec()); live = false; }
double dxPix = e->pos().x() - lastPos_.x();
lastPos_ = e->pos();
double xRange = w_->plotXMax_ - w_->plotXMin_;
if (r.width() > 0) {
double dt = -dxPix / r.width() * xRange;
w_->setStoredX(w_->plotXMin_ + dt, w_->plotXMax_ + dt);
}
update();
}
}
void PlotCanvas::mouseReleaseEvent(QMouseEvent* e) {
if (e->button() == Qt::RightButton) panning_ = false;
if (e->button() == Qt::LeftButton) dragCursor_ = 0;
}
void PlotCanvas::dragEnterEvent(QDragEnterEvent* e) {
if (e->mimeData()->hasFormat(kMimeSignal)) e->acceptProposedAction();
}
void PlotCanvas::dropEvent(QDropEvent* e) {
QByteArray d = e->mimeData()->data(kMimeSignal);
if (d.size() >= (int)(2*sizeof(qint32))) {
const qint32* p = reinterpret_cast<const qint32*>(d.constData());
w_->addAssignment(p[0], p[1]);
e->acceptProposedAction();
}
}
/*===========================================================================*/
/* PlotWidget */
/*===========================================================================*/
PlotWidget::PlotWidget(Hub* hub, GlobalView* gv, int plotIdx, QWidget* parent)
: QWidget(parent), hub_(hub), gv_(gv), plotIdx_(plotIdx) {
auto* lay = new QVBoxLayout(this);
lay->setContentsMargins(2, 2, 2, 2);
lay->setSpacing(2);
header_ = new QWidget(this);
headerLay_ = new QHBoxLayout(header_);
headerLay_->setContentsMargins(2, 0, 2, 0);
headerLay_->setSpacing(3);
lay->addWidget(header_);
cursorLbl_ = new QLabel(this);
cursorLbl_->setStyleSheet("color:#fab387; font-size:10px;");
cursorLbl_->setVisible(false);
lay->addWidget(cursorLbl_);
canvas_ = new PlotCanvas(this);
lay->addWidget(canvas_, 1);
connect(hub_, &Hub::zoomReceived, this, &PlotWidget::onZoomReceived);
connect(hub_, &Hub::historyZoomReceived, this, &PlotWidget::onHistoryZoomReceived);
connect(hub_, &Hub::captureReceived, this, &PlotWidget::onCaptureReceived);
rebuildHeader();
}
void PlotWidget::addAssignment(int sourceIdx, int signalIdx) {
for (const auto& a : slots_) {
if (a.sourceIdx == sourceIdx && a.signalIdx == signalIdx) return;
}
PlotAssignment pa; pa.sourceIdx = sourceIdx; pa.signalIdx = signalIdx;
slots_.push_back(pa);
rebuildHeader();
canvas_->update();
}
void PlotWidget::onModelChanged() { rebuildHeader(); }
void PlotWidget::onPauseChanged() {
paused_ = gv_->paused;
canvas_->update();
}
void PlotWidget::setLive(bool live) {
live_ = live;
if (live) { zoomHist_.clear(); hub_->zoomCache(plotIdx_).valid = false; }
rebuildHeader();
canvas_->update();
}
void PlotWidget::setStoredX(double mn, double mx) {
if (mx > mn + 1e-12) { plotXMin_ = mn; plotXMax_ = mx; }
}
void PlotWidget::initPlotX(double tMax) {
plotXMin_ = tMax - gv_->windowSec;
plotXMax_ = tMax;
}
void PlotWidget::pushZoomHist() {
if (!zoomHist_.empty() &&
zoomHist_.back().first == plotXMin_ &&
zoomHist_.back().second == plotXMax_) return;
if (zoomHist_.size() >= 64) zoomHist_.erase(zoomHist_.begin());
zoomHist_.emplace_back(plotXMin_, plotXMax_);
}
void PlotWidget::onZoomReceived(int p) { if (p == plotIdx_) canvas_->update(); }
void PlotWidget::onHistoryZoomReceived(int p) { if (p == plotIdx_) canvas_->update(); }
void PlotWidget::onCaptureReceived() {
trigZoomed_ = false; zoomHist_.clear(); canvas_->update();
}
/* ── periodic tick: repaint + throttled hi-res/history zoom requests ─────── */
void PlotWidget::tick() {
Hub* hub = hub_;
GlobalView* gv = gv_;
const CaptureFrame* cap = hub->capture();
const bool trigView = (cap != nullptr) && gv->trigView;
const double now = nowSec();
if (!trigView && !paused_) {
std::string csv;
for (const auto& a : slots_) {
std::string k = hub->slotKey(a);
if (k.empty()) continue;
if (!csv.empty()) csv += ",";
csv += k;
}
auto& zc = hub->zoomCache(plotIdx_);
auto& hc = hub->histZoomCache(plotIdx_);
if (live_ && gv->windowSec <= kLiveHiResMaxWin) {
if (!csv.empty() && !zc.pending && now - lastLiveZoomMs_ > 0.25) {
hub->requestZoom(plotIdx_, now - gv->windowSec, now, csv);
lastLiveZoomMs_ = now;
}
} else if (!live_) {
double t0 = plotXMin_, t1 = plotXMax_;
if (t0 != lastT0_ || t1 != lastT1_) {
lastT0_ = t0; lastT1_ = t1; rangeChangedMs_ = now;
} else if (rangeChangedMs_ > 0.0 && now - rangeChangedMs_ > 0.35 && !csv.empty()) {
if (!zc.pending && !(zc.valid && zc.t0 == t0 && zc.t1 == t1))
hub->requestZoom(plotIdx_, t0, t1, csv);
const auto& hi = hub->historyInfo();
if (hi.enabled && !hc.pending && !(hc.valid && hc.t0 == t0 && hc.t1 == t1))
hub->requestHistoryZoom(plotIdx_, t0, t1, csv);
rangeChangedMs_ = 0.0;
}
}
}
canvas_->update();
}
/* ── header (badges + controls) ──────────────────────────────────────────── */
static void clearLayout(QLayout* lay) {
QLayoutItem* it;
while ((it = lay->takeAt(0)) != nullptr) {
if (it->widget()) it->widget()->deleteLater();
delete it;
}
}
void PlotWidget::rebuildHeader() {
clearLayout(headerLay_);
auto& sources = hub_->sources();
for (int i = 0; i < (int)slots_.size(); i++) {
auto& a = slots_[i];
if (a.sourceIdx < 0 || a.sourceIdx >= (int)sources.size()) continue;
if (a.signalIdx < 0 || a.signalIdx >= (int)sources[a.sourceIdx].signals.size()) continue;
const auto& sig = sources[a.sourceIdx].signals[a.signalIdx];
auto* b = new QToolButton(header_);
b->setCheckable(true);
b->setChecked(activeSlot_ == i);
b->setText(QString("%1 %2/div")
.arg(QString::fromStdString(sig.meta.name))
.arg(fmtVal(a.vs.resolvedDiv)));
QColor c = sig.color;
QString fg = (activeSlot_ == i) ? "#11111b" : "#11111b";
QColor bg = (activeSlot_ == i) ? col::blue() : c;
b->setStyleSheet(QString("QToolButton{background:%1;color:%2;border-radius:4px;"
"padding:1px 6px;font-size:10px;font-weight:bold;}")
.arg(bg.name()).arg(fg));
b->setContextMenuPolicy(Qt::CustomContextMenu);
connect(b, &QToolButton::clicked, this, [this, i]() {
activeSlot_ = (activeSlot_ == i) ? -1 : i;
rebuildHeader(); canvas_->update();
});
connect(b, &QWidget::customContextMenuRequested, this, [this, i, b](const QPoint& pos) {
showBadgeMenu(i, b->mapToGlobal(pos));
});
headerLay_->addWidget(b);
}
/* Live */
auto* liveBtn = new QToolButton(header_);
liveBtn->setText("Live");
liveBtn->setCheckable(true);
liveBtn->setChecked(live_);
connect(liveBtn, &QToolButton::clicked, this, [this]() {
setLive(true); paused_ = false;
});
headerLay_->addWidget(liveBtn);
if (!live_ || (gv_->trigView && trigZoomed_)) {
auto* back = new QToolButton(header_); back->setText("Back");
back->setEnabled(!zoomHist_.empty());
connect(back, &QToolButton::clicked, this, [this]() {
if (!zoomHist_.empty()) {
setStoredX(zoomHist_.back().first, zoomHist_.back().second);
zoomHist_.pop_back(); rebuildHeader(); canvas_->update();
}
});
headerLay_->addWidget(back);
auto* fit = new QToolButton(header_);
fit->setText(gv_->trigView ? "Reset" : "Fit");
connect(fit, &QToolButton::clicked, this, [this]() {
if (gv_->trigView) { trigZoomed_ = false; zoomHist_.clear(); }
else {
double mn = 1e300, mx = -1e300;
auto& sources = hub_->sources();
for (auto& a : slots_) {
if (a.sourceIdx < 0 || a.sourceIdx >= (int)sources.size()) continue;
std::vector<double> tt, vv;
sources[a.sourceIdx].signals[a.signalIdx].buf.readLast(hub_->maxPoints(), tt, vv);
if (!tt.empty()) { mn = std::min(mn, tt.front()); mx = std::max(mx, tt.back()); }
}
if (mx > mn) { pushZoomHist(); setStoredX(mn, mx); }
}
rebuildHeader(); canvas_->update();
});
headerLay_->addWidget(fit);
}
/* N / D / M */
const char* vl[3] = {"N", "D", "M"};
for (int vm = 0; vm < 3; vm++) {
auto* vb = new QToolButton(header_);
vb->setText(vl[vm]);
vb->setCheckable(true);
vb->setChecked(vMode_ == vm);
connect(vb, &QToolButton::clicked, this, [this, vm]() {
vMode_ = vm; rebuildHeader(); canvas_->update();
});
headerLay_->addWidget(vb);
}
headerLay_->addStretch(1);
}
void PlotWidget::showBadgeMenu(int slotIdx, const QPoint& globalPos) {
auto& sources = hub_->sources();
if (slotIdx < 0 || slotIdx >= (int)slots_.size()) return;
auto& a = slots_[slotIdx];
if (a.sourceIdx < 0 || a.sourceIdx >= (int)sources.size()) return;
auto& sig = sources[a.sourceIdx].signals[a.signalIdx];
QMenu m;
m.addAction(QString::fromStdString(sig.meta.name))->setEnabled(false);
m.addSeparator();
m.addAction("Color…", [&]() {
QColor c = QColorDialog::getColor(sig.color, this, "Trace color");
if (c.isValid()) { sig.color = c; rebuildHeader(); canvas_->update(); }
});
QMenu* wm = m.addMenu("Width");
for (double w : {0.5, 1.0, 1.5, 2.0, 3.0, 4.0, 5.0}) {
wm->addAction(QString::number(w, 'f', 1), [&, w]() { sig.lineWidth = w; canvas_->update(); });
}
QMenu* mk = m.addMenu("Marker");
const char* mn[] = {"None","Circle","Square","Diamond","Up","Down","Cross","Plus"};
const int mv[] = {-1, 0, 1, 2, 3, 4, 7, 8};
for (int j = 0; j < 8; j++) {
int val = mv[j];
mk->addAction(mn[j], [&, val]() { sig.marker = val; canvas_->update(); });
}
if (vMode_ == 2) {
QAction* dg = m.addAction("Digital (mixed)");
dg->setCheckable(true); dg->setChecked(a.vs.digitalInMixed);
connect(dg, &QAction::toggled, this, [&](bool on){ a.vs.digitalInMixed = on; canvas_->update(); });
}
m.addSeparator();
QMenu* vs = m.addMenu("V-scale");
const char* modes[] = {"Auto", "Range", "Manual"};
for (int mm = 0; mm < 3; mm++) {
QAction* act = vs->addAction(modes[mm]);
act->setCheckable(true); act->setChecked(a.vs.mode == mm);
connect(act, &QAction::triggered, this, [&, mm]() { a.vs.mode = mm; rebuildHeader(); canvas_->update(); });
}
vs->addSeparator();
vs->addAction("Manual V/div…", [&]() {
bool ok; double v = QInputDialog::getDouble(this, "V/div", "Units per division",
a.vs.mode==2?a.vs.divValue:a.vs.resolvedDiv, -1e12, 1e12, 6, &ok);
if (ok) { a.vs.divValue = v; a.vs.mode = 2; rebuildHeader(); canvas_->update(); }
});
vs->addAction("Offset…", [&]() {
bool ok; double v = QInputDialog::getDouble(this, "Offset", "Center value",
a.vs.mode==2?a.vs.offset:a.vs.resolvedOffset, -1e12, 1e12, 6, &ok);
if (ok) { a.vs.offset = v; a.vs.mode = 2; rebuildHeader(); canvas_->update(); }
});
vs->addAction("Position (div)…", [&]() {
bool ok; double v = QInputDialog::getDouble(this, "Position", "Divisions from center",
a.vs.screenPos, -8, 8, 2, &ok);
if (ok) { a.vs.screenPos = v; canvas_->update(); }
});
m.addSeparator();
m.addAction("Remove from plot", [&]() {
if (activeSlot_ == slotIdx) activeSlot_ = -1;
else if (activeSlot_ > slotIdx) activeSlot_--;
slots_.erase(slots_.begin() + slotIdx);
rebuildHeader(); canvas_->update();
});
m.exec(globalPos);
}
} /* namespace shq */
+110
View File
@@ -0,0 +1,110 @@
/**
* @file PlotWidget.h
* @brief Oscilloscope plot panel (custom QPainter), one per grid cell.
*
* Mirrors the ImGui PlotPanel: fixed +/-4 division Y space, wall-clock live X
* window, LTTB decimation, normal/digital/mixed normalization, A/B cursors,
* scroll/drag zoom + pan, zoom history, hi-res WS zoom + history zoom, and a
* trigger-capture view rendered in [-pre, +post].
*/
#pragma once
#include "Model.h"
#include <QWidget>
#include <QString>
#include <vector>
#include <utility>
#include <string>
class QHBoxLayout;
class QToolButton;
class QLabel;
namespace shq {
class Hub;
/** View state shared (synchronised) across all plots; owned by MainWindow. */
struct GlobalView {
double windowSec = 10.0; /* live scroll window width */
bool paused = false; /* global pause */
bool cursorsOn = false;
double cursorA = 0.0;
double cursorB = 0.0;
bool trigView = false; /* trigger bar open → render capture */
};
class PlotCanvas;
class PlotWidget : public QWidget {
Q_OBJECT
public:
PlotWidget(Hub* hub, GlobalView* gv, int plotIdx, QWidget* parent = nullptr);
std::vector<PlotAssignment>& slots() { return slots_; }
void addAssignment(int sourceIdx, int signalIdx);
/** Called by MainWindow when sources/config change so badges refresh. */
void onModelChanged();
/** Called by MainWindow when global pause toggles. */
void onPauseChanged();
/** Reset zoom/live state (e.g. when entering/leaving history mode). */
void setLive(bool live);
bool isLive() const { return live_; }
void setStoredX(double mn, double mx);
double xMin() const { return plotXMin_; }
double xMax() const { return plotXMax_; }
int plotIdx() const { return plotIdx_; }
public Q_SLOTS:
void onZoomReceived(int plotIdx);
void onHistoryZoomReceived(int plotIdx);
void onCaptureReceived();
void tick(); /* ~60 Hz repaint + throttled zoom requests */
private:
friend class PlotCanvas;
void rebuildHeader();
void showBadgeMenu(int slotIdx, const QPoint& globalPos);
void pushZoomHist();
void initPlotX(double tMax);
Hub* hub_;
GlobalView* gv_;
int plotIdx_;
PlotCanvas* canvas_ = nullptr;
QHBoxLayout* headerLay_ = nullptr;
QWidget* header_ = nullptr;
QLabel* cursorLbl_ = nullptr;
std::vector<PlotAssignment> slots_;
bool live_ = true;
bool paused_ = false;
double plotXMin_ = 0.0;
double plotXMax_ = 0.0;
int vMode_ = 0; /* 0 normal 1 digital 2 mixed */
int activeSlot_ = -1;
bool trigZoomed_ = false;
std::vector<std::pair<double,double>> zoomHist_;
/* Paused view snapshot (double buffer). */
struct Snapshot {
bool valid = false;
std::vector<std::string> keys;
std::vector<std::vector<double>> t, v;
} snap_;
/* Throttle timers (ms wall clock). */
double lastLiveZoomMs_ = 0.0;
double rangeChangedMs_ = 0.0;
double lastT0_ = 0.0, lastT1_ = 0.0;
double lastHistPushMs_ = 0.0;
};
} /* namespace shq */
+167
View File
@@ -0,0 +1,167 @@
/**
* @file SourceSidebar.cpp
*/
#include "SourceSidebar.h"
#include "Hub.h"
#include "Theme.h"
#include <QVBoxLayout>
#include <QTreeWidget>
#include <QHeaderView>
#include <QPushButton>
#include <QMenu>
#include <QMimeData>
#include <QDrag>
#include <QPainter>
#include <QPixmap>
#include <QIcon>
#include <QSet>
#include <QDataStream>
#include <QApplication>
namespace shq {
const char* const kMimeSignal = "application/x-shq-signal";
/* Roles for tree items. */
enum { RoleSrcIdx = Qt::UserRole + 1, RoleSigIdx, RoleSrcId };
/** QTreeWidget subclass that emits a signal drag with the qint32[2] payload. */
class SourceTree : public QTreeWidget {
public:
explicit SourceTree(QWidget* parent = nullptr) : QTreeWidget(parent) {
setDragEnabled(true);
setDragDropMode(QAbstractItemView::DragOnly);
}
protected:
void startDrag(Qt::DropActions /*supported*/) override {
QTreeWidgetItem* it = currentItem();
if (!it) { return; }
bool ok = false;
int sigIdx = it->data(0, RoleSigIdx).toInt(&ok);
if (!ok || sigIdx < 0) { return; } /* only signal leaves drag */
int srcIdx = it->data(0, RoleSrcIdx).toInt();
QByteArray payload;
{
QDataStream ds(&payload, QIODevice::WriteOnly);
ds.setByteOrder(QDataStream::LittleEndian);
ds << static_cast<qint32>(srcIdx) << static_cast<qint32>(sigIdx);
}
auto* mime = new QMimeData;
mime->setData(kMimeSignal, payload);
auto* drag = new QDrag(this);
drag->setMimeData(mime);
drag->exec(Qt::CopyAction);
}
};
SourceSidebar::SourceSidebar(Hub* hub, QWidget* parent)
: QWidget(parent), hub_(hub) {
auto* lay = new QVBoxLayout(this);
lay->setContentsMargins(4, 4, 4, 4);
lay->setSpacing(4);
tree_ = new SourceTree(this);
tree_->setHeaderHidden(true);
tree_->setColumnCount(1);
tree_->setContextMenuPolicy(Qt::CustomContextMenu);
tree_->setIndentation(12);
connect(tree_, &QTreeWidget::customContextMenuRequested,
this, &SourceSidebar::onContextMenu);
lay->addWidget(tree_, 1);
auto* addBtn = new QPushButton("+ Add Source", this);
connect(addBtn, &QPushButton::clicked, this,
&SourceSidebar::addSourceRequested);
lay->addWidget(addBtn);
auto* saveBtn = new QPushButton("Save Sources", this);
connect(saveBtn, &QPushButton::clicked, this,
[this]() { hub_->sendSaveSources(); });
lay->addWidget(saveBtn);
refresh();
}
/** Small square color swatch icon. */
static QIcon swatch(const QColor& c) {
QPixmap pm(12, 12);
pm.fill(Qt::transparent);
QPainter p(&pm);
p.setPen(Qt::NoPen);
p.setBrush(c);
p.drawRect(0, 0, 12, 12);
return QIcon(pm);
}
void SourceSidebar::refresh() {
/* Preserve expansion state by source id. */
QSet<QString> expanded;
for (int i = 0; i < tree_->topLevelItemCount(); i++) {
QTreeWidgetItem* it = tree_->topLevelItem(i);
if (it->isExpanded()) {
expanded.insert(it->data(0, RoleSrcId).toString());
}
}
tree_->clear();
const auto& sources = hub_->sources();
for (int s = 0; s < static_cast<int>(sources.size()); s++) {
const Source& src = sources[s];
QString label = QString::fromStdString(
src.label.empty() ? src.id : src.label);
bool connected = (src.state == "connected");
QString dot = connected ? QString::fromUtf8("\u25cf ")
: QString::fromUtf8("\u25cb ");
auto* top = new QTreeWidgetItem(tree_);
top->setText(0, dot + label);
top->setForeground(0, connected ? col::green() : col::red());
top->setData(0, RoleSrcIdx, s);
top->setData(0, RoleSigIdx, -1);
top->setData(0, RoleSrcId, QString::fromStdString(src.id));
top->setFlags(Qt::ItemIsEnabled);
for (int g = 0; g < static_cast<int>(src.signals.size()); g++) {
const SignalView& sig = src.signals[g];
QString name = QString::fromStdString(sig.meta.name);
if (sig.meta.numElements > 1) {
name += QString(" [%1]").arg(sig.meta.numElements);
}
if (!sig.meta.unit.empty()) {
name += " (" + QString::fromStdString(sig.meta.unit) + ")";
}
auto* leaf = new QTreeWidgetItem(top);
leaf->setText(0, name);
leaf->setIcon(0, swatch(sig.color));
leaf->setData(0, RoleSrcIdx, s);
leaf->setData(0, RoleSigIdx, g);
leaf->setData(0, RoleSrcId, QString::fromStdString(src.id));
leaf->setForeground(0, col::text());
leaf->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable |
Qt::ItemIsDragEnabled);
}
if (expanded.isEmpty() ||
expanded.contains(QString::fromStdString(src.id))) {
top->setExpanded(true);
}
}
}
void SourceSidebar::onContextMenu(const QPoint& pos) {
QTreeWidgetItem* it = tree_->itemAt(pos);
if (!it) { return; }
QString srcId = it->data(0, RoleSrcId).toString();
if (srcId.isEmpty()) { return; }
QMenu menu(this);
QAction* rm = menu.addAction("Remove source");
if (menu.exec(tree_->viewport()->mapToGlobal(pos)) == rm) {
hub_->sendRemoveSource(srcId.toStdString());
}
}
} /* namespace shq */
+44
View File
@@ -0,0 +1,44 @@
/**
* @file SourceSidebar.h
* @brief Source browser sidebar: tree of sources → signals with drag-to-plot.
*
* Mirrors the ImGui SourcePanel. Each signal leaf is draggable; the drag
* payload is the mime type "application/x-shq-signal" carrying two qint32
* values {sourceIdx, signalIdx}, consumed by PlotWidget's drop handler.
*/
#pragma once
#include <QWidget>
class QTreeWidget;
class QTreeWidgetItem;
namespace shq {
class Hub;
/** MIME type carried by a signal drag: payload = qint32[2] {srcIdx,sigIdx}. */
extern const char* const kMimeSignal;
class SourceSidebar : public QWidget {
Q_OBJECT
public:
explicit SourceSidebar(Hub* hub, QWidget* parent = nullptr);
public Q_SLOTS:
/** Rebuild the tree from the current model (sources/config changes). */
void refresh();
Q_SIGNALS:
/** User clicked "Add Source" (MainWindow opens the dialog). */
void addSourceRequested();
private:
void onContextMenu(const QPoint& pos);
Hub* hub_;
QTreeWidget* tree_ = nullptr;
};
} /* namespace shq */
+162
View File
@@ -0,0 +1,162 @@
/**
* @file StatsDialog.cpp
*/
#include "StatsDialog.h"
#include "Hub.h"
#include "Theme.h"
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QTableWidget>
#include <QHeaderView>
#include <QLabel>
#include <QPushButton>
#include <QScrollArea>
#include <QPainter>
#include <cstdio>
namespace shq {
using StreamHubClient::SourceStats;
/* ── HistogramWidget ─────────────────────────────────────────────────────── */
HistogramWidget::HistogramWidget(QWidget* parent) : QWidget(parent) {
setMinimumHeight(120);
}
void HistogramWidget::setData(const SourceStats& st) {
min_ = st.cycleHistMin;
max_ = st.cycleHistMax;
valid_ = (max_ > min_);
for (int i = 0; i < 20; i++) { bins_[i] = st.cycleHist[i]; }
update();
}
void HistogramWidget::paintEvent(QPaintEvent*) {
QPainter p(this);
p.fillRect(rect(), col::mantle());
if (!valid_) { return; }
double maxCount = 0.0;
for (int i = 0; i < 20; i++) { if (bins_[i] > maxCount) { maxCount = bins_[i]; } }
if (maxCount <= 0.0) { return; }
const int L = 4, R = 4, T = 4, B = 16;
QRectF area(L, T, width() - L - R, height() - T - B);
double bw = area.width() / 20.0;
p.setPen(Qt::NoPen);
p.setBrush(col::blue());
for (int i = 0; i < 20; i++) {
double h = (bins_[i] / maxCount) * area.height();
QRectF bar(area.left() + i * bw + 1, area.bottom() - h,
bw - 2, h);
p.drawRect(bar);
}
p.setPen(col::subtext());
QFont f = p.font(); f.setPointSize(7); p.setFont(f);
p.drawText(QRectF(L, height() - B, area.width() / 2, B),
Qt::AlignLeft | Qt::AlignVCenter,
QString::number(min_, 'g', 3) + " ms");
p.drawText(QRectF(L + area.width() / 2, height() - B, area.width() / 2, B),
Qt::AlignRight | Qt::AlignVCenter,
QString::number(max_, 'g', 3) + " ms");
}
/* ── StatsDialog ─────────────────────────────────────────────────────────── */
static const char* kCols[] = {
"Source", "State", "Cycles Rx", "Lost", "Rate Hz",
"Frags/cyc", "Bytes/cyc", "Cycle ms (avg±std)", "Cycle ms (min/max)"
};
static const int kNumCols = 9;
StatsDialog::StatsDialog(Hub* hub, QWidget* parent)
: QDialog(parent), hub_(hub) {
setWindowTitle("Statistics");
resize(760, 460);
auto* lay = new QVBoxLayout(this);
table_ = new QTableWidget(this);
table_->setColumnCount(kNumCols);
QStringList headers;
for (int i = 0; i < kNumCols; i++) { headers << kCols[i]; }
table_->setHorizontalHeaderLabels(headers);
table_->verticalHeader()->setVisible(false);
table_->setEditTriggers(QAbstractItemView::NoEditTriggers);
table_->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
lay->addWidget(table_);
auto* scroll = new QScrollArea(this);
scroll->setWidgetResizable(true);
auto* histHost = new QWidget(scroll);
histLay_ = new QVBoxLayout(histHost);
scroll->setWidget(histHost);
lay->addWidget(scroll, 1);
auto* btnRow = new QHBoxLayout();
btnRow->addStretch(1);
auto* refreshBtn = new QPushButton("Refresh", this);
connect(refreshBtn, &QPushButton::clicked, this, [this]() {
hub_->sendGetStats();
refresh();
});
btnRow->addWidget(refreshBtn);
lay->addLayout(btnRow);
refresh();
}
void StatsDialog::refresh() {
const auto& sources = hub_->sources();
table_->setRowCount(static_cast<int>(sources.size()));
char buf[64];
for (int r = 0; r < static_cast<int>(sources.size()); r++) {
const Source& src = sources[r];
const SourceStats& st = src.stats;
auto set = [&](int c, const QString& s, const QColor* fg = nullptr) {
auto* it = new QTableWidgetItem(s);
if (fg) { it->setForeground(*fg); }
table_->setItem(r, c, it);
};
set(0, QString::fromStdString(src.id));
QColor stc = (st.state == "connected") ? col::green() : col::red();
set(1, QString::fromStdString(st.state), &stc);
set(2, QString::number(static_cast<qulonglong>(st.totalReceived)));
set(3, QString::number(static_cast<qulonglong>(st.totalLost)));
snprintf(buf, sizeof(buf), "%.2f \u00b1 %.2f", st.rateHz, st.rateStdHz);
set(4, buf);
snprintf(buf, sizeof(buf), "%.1f", st.fragsPerCycle); set(5, buf);
snprintf(buf, sizeof(buf), "%.0f", st.bytesPerCycle); set(6, buf);
snprintf(buf, sizeof(buf), "%.3f \u00b1 %.3f", st.cycleAvgMs, st.cycleStdMs);
set(7, buf);
snprintf(buf, sizeof(buf), "%.3f / %.3f", st.cycleMinMs, st.cycleMaxMs);
set(8, buf);
}
/* Rebuild histogram blocks. */
for (auto* w : histBlocks_) { w->deleteLater(); }
histBlocks_.clear();
hists_.clear();
for (const auto& src : sources) {
if (src.stats.cycleHistMax <= src.stats.cycleHistMin) { continue; }
auto* block = new QWidget();
auto* bl = new QVBoxLayout(block);
bl->setContentsMargins(0, 0, 0, 0);
bl->addWidget(new QLabel("Cycle time — " +
QString::fromStdString(src.id), block));
auto* h = new HistogramWidget(block);
h->setData(src.stats);
bl->addWidget(h);
histLay_->addWidget(block);
histBlocks_.push_back(block);
hists_.push_back(h);
}
}
} /* namespace shq */
+54
View File
@@ -0,0 +1,54 @@
/**
* @file StatsDialog.h
* @brief Per-source statistics table + cycle-time histograms.
*
* Mirrors the ImGui StatsPanel: a metrics table (rate, lost, frags/bytes per
* cycle, cycle ms avg/std/min/max) and a 20-bin cycle-time histogram per
* source, drawn with a small QPainter bar widget.
*/
#pragma once
#include "Protocol.h"
#include <QDialog>
class QTableWidget;
class QVBoxLayout;
namespace shq {
class Hub;
/** Small bar-chart widget for a 20-bin cycle-time histogram. */
class HistogramWidget : public QWidget {
Q_OBJECT
public:
explicit HistogramWidget(QWidget* parent = nullptr);
void setData(const StreamHubClient::SourceStats& st);
QSize sizeHint() const override { return QSize(400, 120); }
protected:
void paintEvent(QPaintEvent*) override;
private:
double bins_[20] = {};
double min_ = 0.0, max_ = 0.0;
bool valid_ = false;
};
class StatsDialog : public QDialog {
Q_OBJECT
public:
explicit StatsDialog(Hub* hub, QWidget* parent = nullptr);
public Q_SLOTS:
void refresh();
private:
Hub* hub_;
QTableWidget* table_ = nullptr;
QVBoxLayout* histLay_ = nullptr;
std::vector<HistogramWidget*> hists_;
std::vector<QWidget*> histBlocks_;
};
} /* namespace shq */
+82
View File
@@ -0,0 +1,82 @@
/**
* @file Theme.cpp
*/
#include "Theme.h"
#include <QApplication>
#include <QPalette>
namespace shq {
QColor tracePalette(int idx) {
static const QColor pal[8] = {
QColor(0x89, 0xb4, 0xfa), /* blue */
QColor(0xa6, 0xe3, 0xa1), /* green */
QColor(0xf3, 0x8b, 0xa8), /* red */
QColor(0xfa, 0xb3, 0x87), /* peach */
QColor(0xcb, 0xa6, 0xf7), /* mauve */
QColor(0x94, 0xe2, 0xd5), /* teal */
QColor(0x89, 0xdc, 0xeb), /* sky */
QColor(0xb4, 0xbe, 0xfe), /* lavender */
};
if (idx < 0) idx = 0;
return pal[idx % 8];
}
void applyTheme(QApplication& app) {
app.setStyle("Fusion");
QPalette p;
p.setColor(QPalette::Window, col::base());
p.setColor(QPalette::WindowText, col::text());
p.setColor(QPalette::Base, col::mantle());
p.setColor(QPalette::AlternateBase, col::surface0());
p.setColor(QPalette::ToolTipBase, col::surface0());
p.setColor(QPalette::ToolTipText, col::text());
p.setColor(QPalette::Text, col::text());
p.setColor(QPalette::Button, col::surface0());
p.setColor(QPalette::ButtonText, col::text());
p.setColor(QPalette::BrightText, col::red());
p.setColor(QPalette::Link, col::blue());
p.setColor(QPalette::Highlight, col::blue());
p.setColor(QPalette::HighlightedText, col::crust());
p.setColor(QPalette::PlaceholderText, col::overlay0());
p.setColor(QPalette::Disabled, QPalette::Text, col::overlay0());
p.setColor(QPalette::Disabled, QPalette::ButtonText, col::overlay0());
p.setColor(QPalette::Disabled, QPalette::WindowText, col::overlay0());
app.setPalette(p);
app.setStyleSheet(QStringLiteral(R"qss(
QToolTip { color: #cdd6f4; background-color: #313244; border: 1px solid #45475a; }
QPushButton {
background-color: #313244; color: #cdd6f4;
border: 1px solid #45475a; border-radius: 5px;
padding: 4px 9px;
}
QPushButton:hover { background-color: #45475a; }
QPushButton:pressed { background-color: #585b70; }
QPushButton:checked { background-color: #3a4a6a; border-color: #89b4fa; color: #89b4fa; }
QPushButton:disabled { color: #6c7086; }
QComboBox, QSpinBox, QDoubleSpinBox, QLineEdit {
background-color: #313244; color: #cdd6f4;
border: 1px solid #45475a; border-radius: 5px; padding: 3px 6px;
}
QComboBox QAbstractItemView { background-color: #181825; color: #cdd6f4; selection-background-color: #45475a; }
QTreeWidget, QTableWidget, QListWidget {
background-color: #181825; color: #cdd6f4;
border: 1px solid #313244; border-radius: 6px;
}
QHeaderView::section { background-color: #313244; color: #cdd6f4; border: none; padding: 4px; }
QSplitter::handle { background-color: #313244; }
QToolBar { background-color: #11111b; border: none; spacing: 4px; padding: 3px; }
QMenu { background-color: #181825; color: #cdd6f4; border: 1px solid #45475a; }
QMenu::item:selected { background-color: #45475a; }
QSlider::groove:horizontal { height: 4px; background: #45475a; border-radius: 2px; }
QSlider::handle:horizontal { width: 14px; background: #89b4fa; border-radius: 7px; margin: -5px 0; }
QLabel { color: #cdd6f4; }
QDialog, QMainWindow { background-color: #1e1e2e; }
)qss"));
}
} /* namespace shq */
+39
View File
@@ -0,0 +1,39 @@
/**
* @file Theme.h
* @brief Catppuccin-Mocha dark theme + trace color palette.
*/
#pragma once
#include <QColor>
class QApplication;
namespace shq {
/** Apply the Catppuccin-Mocha palette + stylesheet to the application. */
void applyTheme(QApplication& app);
/** Catppuccin-Mocha trace palette (8 colors, cycles). */
QColor tracePalette(int idx);
/* Named palette entries used across widgets. */
namespace col {
inline QColor crust() { return QColor(0x11, 0x11, 0x1b); }
inline QColor mantle() { return QColor(0x18, 0x18, 0x25); }
inline QColor base() { return QColor(0x1e, 0x1e, 0x2e); }
inline QColor surface0() { return QColor(0x31, 0x32, 0x44); }
inline QColor surface1() { return QColor(0x45, 0x47, 0x5a); }
inline QColor surface2() { return QColor(0x58, 0x5b, 0x70); }
inline QColor overlay0() { return QColor(0x6c, 0x70, 0x86); }
inline QColor text() { return QColor(0xcd, 0xd6, 0xf4); }
inline QColor subtext() { return QColor(0xa6, 0xad, 0xc8); }
inline QColor blue() { return QColor(0x89, 0xb4, 0xfa); }
inline QColor green() { return QColor(0xa6, 0xe3, 0xa1); }
inline QColor red() { return QColor(0xf3, 0x8b, 0xa8); }
inline QColor peach() { return QColor(0xfa, 0xb3, 0x87); }
inline QColor mauve() { return QColor(0xcb, 0xa6, 0xf7); }
inline QColor yellow() { return QColor(0xf9, 0xe2, 0xaf); }
}
} /* namespace shq */
+175
View File
@@ -0,0 +1,175 @@
/**
* @file TriggerBar.cpp
*/
#include "TriggerBar.h"
#include "Hub.h"
#include "Theme.h"
#include <QHBoxLayout>
#include <QComboBox>
#include <QDoubleSpinBox>
#include <QSlider>
#include <QLabel>
#include <QPushButton>
#include <QRadioButton>
#include <QButtonGroup>
#include <cmath>
namespace shq {
/* Window presets (100 us .. 10 s), mirrors the web UI. */
static const double kWinVals[] = {1e-4, 1e-3, 1e-2, 1e-1, 1.0, 10.0};
static const char* kWinLabels[] = {"100 us", "1 ms", "10 ms", "100 ms", "1 s", "10 s"};
static const int kNumWins = 6;
static const char* kEdgeWire[] = {"rising", "falling", "both"};
TriggerBar::TriggerBar(Hub* hub, QWidget* parent)
: QWidget(parent), hub_(hub) {
auto* lay = new QHBoxLayout(this);
lay->setContentsMargins(6, 2, 6, 2);
lay->setSpacing(6);
lay->addWidget(new QLabel("Trig:", this));
sigCombo_ = new QComboBox(this);
sigCombo_->setMinimumWidth(150);
lay->addWidget(sigCombo_);
edgeCombo_ = new QComboBox(this);
edgeCombo_->addItems({"Rising", "Falling", "Both"});
lay->addWidget(edgeCombo_);
lay->addWidget(new QLabel("Thr", this));
thrSpin_ = new QDoubleSpinBox(this);
thrSpin_->setRange(-1e12, 1e12);
thrSpin_->setDecimals(6);
thrSpin_->setMaximumWidth(100);
lay->addWidget(thrSpin_);
lay->addWidget(new QLabel("Win", this));
winCombo_ = new QComboBox(this);
for (int i = 0; i < kNumWins; i++) { winCombo_->addItem(kWinLabels[i]); }
winCombo_->setCurrentIndex(3); /* 100 ms */
lay->addWidget(winCombo_);
lay->addWidget(new QLabel("Pre", this));
preSlider_ = new QSlider(Qt::Horizontal, this);
preSlider_->setRange(0, 100);
preSlider_->setValue(20);
preSlider_->setMaximumWidth(90);
lay->addWidget(preSlider_);
preLbl_ = new QLabel("20%", this);
preLbl_->setMinimumWidth(34);
lay->addWidget(preLbl_);
normRadio_ = new QRadioButton("Norm", this);
singleRadio_ = new QRadioButton("1x", this);
normRadio_->setChecked(true);
auto* grp = new QButtonGroup(this);
grp->addButton(normRadio_);
grp->addButton(singleRadio_);
lay->addWidget(normRadio_);
lay->addWidget(singleRadio_);
badge_ = new QLabel("[IDLE]", this);
badge_->setMinimumWidth(90);
lay->addWidget(badge_);
armBtn_ = new QPushButton("Arm", this);
disarmBtn_ = new QPushButton("Disarm", this);
stopBtn_ = new QPushButton("Stop", this);
lay->addWidget(armBtn_);
lay->addWidget(disarmBtn_);
lay->addWidget(stopBtn_);
trigTimeLbl_ = new QLabel("", this);
trigTimeLbl_->setStyleSheet("color:#a6adc8;");
lay->addWidget(trigTimeLbl_);
lay->addStretch(1);
/* ── Wiring ── */
auto cfg = [this]() { if (!updating_) { pullFromUi(); sendConfig(); } };
connect(sigCombo_, QOverload<int>::of(&QComboBox::currentIndexChanged),
this, [cfg](int){ cfg(); });
connect(edgeCombo_, QOverload<int>::of(&QComboBox::currentIndexChanged),
this, [cfg](int){ cfg(); });
connect(thrSpin_, &QDoubleSpinBox::editingFinished, this, cfg);
connect(winCombo_, QOverload<int>::of(&QComboBox::currentIndexChanged),
this, [cfg](int){ cfg(); });
connect(preSlider_, &QSlider::valueChanged, this, [this](int v) {
preLbl_->setText(QString("%1%").arg(v));
});
connect(preSlider_, &QSlider::sliderReleased, this, cfg);
connect(normRadio_, &QRadioButton::toggled, this, [cfg](bool){ cfg(); });
connect(armBtn_, &QPushButton::clicked, this, [this]() {
pullFromUi(); sendConfig(); hub_->sendArm();
});
connect(disarmBtn_, &QPushButton::clicked, this, [this]() {
hub_->sendDisarm();
});
connect(stopBtn_, &QPushButton::clicked, this, [this]() {
auto& t = hub_->trigger();
t.stopped = !t.stopped;
hub_->sendTrigStop(t.stopped);
});
refreshSignals();
onTriggerStateChanged();
}
void TriggerBar::pullFromUi() {
auto& t = hub_->trigger();
t.signalKey = sigCombo_->currentData().toString().toStdString();
t.edge = edgeCombo_->currentIndex();
t.threshold = thrSpin_->value();
t.windowSec = kWinVals[winCombo_->currentIndex()];
t.prePercent = preSlider_->value();
t.single = singleRadio_->isChecked();
}
void TriggerBar::sendConfig() {
auto& t = hub_->trigger();
if (t.signalKey.empty()) { return; }
hub_->sendSetTrigger(t.signalKey, kEdgeWire[t.edge], t.threshold,
t.windowSec, t.prePercent,
t.single ? "single" : "normal");
}
void TriggerBar::refreshSignals() {
updating_ = true;
QString prev = sigCombo_->currentData().toString();
sigCombo_->clear();
for (const auto& src : hub_->sources()) {
for (const auto& sig : src.signals) {
QString key = QString::fromStdString(src.id + ":" + sig.meta.name);
sigCombo_->addItem(key, key);
}
}
int idx = sigCombo_->findData(prev);
if (idx >= 0) { sigCombo_->setCurrentIndex(idx); }
updating_ = false;
}
void TriggerBar::onTriggerStateChanged() {
const auto& t = hub_->trigger();
QString badge; QColor c;
if (t.status == "armed") { badge = "[ARMED]"; c = col::yellow(); }
else if (t.status == "collecting") { badge = "[COLLECTING]"; c = col::blue(); }
else if (t.status == "triggered") { badge = "[TRIGGERED]"; c = col::green(); }
else { badge = "[IDLE]"; c = col::overlay0(); }
badge_->setText(badge);
badge_->setStyleSheet(QString("color:%1; font-weight:bold;").arg(c.name()));
stopBtn_->setVisible(!t.single);
stopBtn_->setText(t.stopped ? "Run" : "Stop");
if (t.hasTrigTime && (t.status == "collecting" || t.status == "triggered")) {
trigTimeLbl_->setText(QString("t=%1").arg(t.trigTime, 0, 'f', 6));
} else {
trigTimeLbl_->clear();
}
}
} /* namespace shq */
+57
View File
@@ -0,0 +1,57 @@
/**
* @file TriggerBar.h
* @brief Trigger configuration bar (hub-side trigger semantics).
*
* Edits the trigger config (signal/edge/threshold/window/pre%/mode), sends
* setTrigger + arm/disarm/rearm/trigStop over the WS, and reflects hub
* triggerState broadcasts in a status badge. Mirrors the ImGui TriggerPanel.
*/
#pragma once
#include <QWidget>
class QComboBox;
class QDoubleSpinBox;
class QSlider;
class QLabel;
class QPushButton;
class QRadioButton;
namespace shq {
class Hub;
class TriggerBar : public QWidget {
Q_OBJECT
public:
explicit TriggerBar(Hub* hub, QWidget* parent = nullptr);
public Q_SLOTS:
/** Rebuild the signal combo from the model. */
void refreshSignals();
/** Reflect the latest hub trigger state (badge + buttons). */
void onTriggerStateChanged();
private:
void sendConfig();
void pullFromUi();
Hub* hub_;
QComboBox* sigCombo_ = nullptr;
QComboBox* edgeCombo_ = nullptr;
QDoubleSpinBox* thrSpin_ = nullptr;
QComboBox* winCombo_ = nullptr;
QSlider* preSlider_ = nullptr;
QLabel* preLbl_ = nullptr;
QRadioButton* normRadio_ = nullptr;
QRadioButton* singleRadio_= nullptr;
QLabel* badge_ = nullptr;
QPushButton* armBtn_ = nullptr;
QPushButton* disarmBtn_ = nullptr;
QPushButton* stopBtn_ = nullptr;
QLabel* trigTimeLbl_= nullptr;
bool updating_ = false;
};
} /* namespace shq */
+84
View File
@@ -0,0 +1,84 @@
/**
* @file WsClient.cpp
*/
#include "WsClient.h"
#include <QUrl>
namespace shq {
WsClient::WsClient(QObject* parent) : QObject(parent) {
connect(&socket_, &QWebSocket::connected, this, &WsClient::onConnected);
connect(&socket_, &QWebSocket::disconnected, this, &WsClient::onDisconnected);
connect(&socket_, &QWebSocket::textMessageReceived,
this, [this](const QString& s) { Q_EMIT textReceived(s); });
connect(&socket_, &QWebSocket::binaryMessageReceived,
this, [this](const QByteArray& b) { Q_EMIT binaryReceived(b); });
reconnectTimer_.setInterval(3000);
connect(&reconnectTimer_, &QTimer::timeout, this, &WsClient::onTick);
}
void WsClient::connectTo(const QString& host, uint16_t port) {
host_ = host;
port_ = port;
wantOpen_ = true;
openSocket();
reconnectTimer_.start();
}
void WsClient::reconnectTo(const QString& host, uint16_t port) {
host_ = host;
port_ = port;
wantOpen_ = true;
socket_.abort(); /* drop current; onTick / openSocket reopens */
openSocket();
if (!reconnectTimer_.isActive()) { reconnectTimer_.start(); }
}
void WsClient::close() {
wantOpen_ = false;
reconnectTimer_.stop();
socket_.close();
}
void WsClient::openSocket() {
if (!wantOpen_) { return; }
if (socket_.state() == QAbstractSocket::ConnectedState ||
socket_.state() == QAbstractSocket::ConnectingState) {
return;
}
QUrl url;
url.setScheme("ws");
url.setHost(host_);
url.setPort(port_);
url.setPath("/ws");
socket_.open(url);
}
void WsClient::onConnected() {
connected_ = true;
Q_EMIT connectedChanged(true);
}
void WsClient::onDisconnected() {
if (connected_) {
connected_ = false;
Q_EMIT connectedChanged(false);
}
}
void WsClient::onTick() {
if (wantOpen_ && socket_.state() == QAbstractSocket::UnconnectedState) {
openSocket();
}
}
void WsClient::sendText(const QString& json) {
if (socket_.state() == QAbstractSocket::ConnectedState) {
socket_.sendTextMessage(json);
}
}
} /* namespace shq */
+57
View File
@@ -0,0 +1,57 @@
/**
* @file WsClient.h
* @brief Thin QWebSocket wrapper with auto-reconnect.
*/
#pragma once
#include <QObject>
#include <QString>
#include <QByteArray>
#include <QWebSocket>
#include <QTimer>
#include <cstdint>
namespace shq {
class WsClient : public QObject {
Q_OBJECT
public:
explicit WsClient(QObject* parent = nullptr);
/** (Re)connect to host:port; starts the auto-reconnect loop. */
void connectTo(const QString& host, uint16_t port);
/** Switch target and reconnect immediately. */
void reconnectTo(const QString& host, uint16_t port);
void close();
bool isConnected() const { return connected_; }
QString host() const { return host_; }
uint16_t port() const { return port_; }
public Q_SLOTS:
void sendText(const QString& json);
void sendText(const std::string& json) { sendText(QString::fromStdString(json)); }
Q_SIGNALS:
void connectedChanged(bool connected);
void textReceived(const QString& json);
void binaryReceived(const QByteArray& data);
private Q_SLOTS:
void onConnected();
void onDisconnected();
void onTick();
private:
void openSocket();
QWebSocket socket_;
QTimer reconnectTimer_;
QString host_;
uint16_t port_ = 0;
bool connected_ = false;
bool wantOpen_ = false;
};
} /* namespace shq */
@@ -0,0 +1,71 @@
cmake_minimum_required(VERSION 3.16...3.21)
# These are part of the public API. Projects should use them to provide a
# consistent set of prefix-relative destinations.
if(NOT QT_DEPLOY_BIN_DIR)
set(QT_DEPLOY_BIN_DIR "bin")
endif()
if(NOT QT_DEPLOY_LIBEXEC_DIR)
set(QT_DEPLOY_LIBEXEC_DIR "libexec")
endif()
if(NOT QT_DEPLOY_LIB_DIR)
set(QT_DEPLOY_LIB_DIR "lib")
endif()
if(NOT QT_DEPLOY_PLUGINS_DIR)
set(QT_DEPLOY_PLUGINS_DIR "lib/qt6/plugins")
endif()
if(NOT QT_DEPLOY_QML_DIR)
set(QT_DEPLOY_QML_DIR "lib/qt6/qml")
endif()
if(NOT QT_DEPLOY_TRANSLATIONS_DIR)
set(QT_DEPLOY_TRANSLATIONS_DIR "share/qt6/translations")
endif()
if(NOT QT_DEPLOY_PREFIX)
set(QT_DEPLOY_PREFIX "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}")
endif()
if(QT_DEPLOY_PREFIX STREQUAL "")
set(QT_DEPLOY_PREFIX .)
endif()
if(NOT QT_DEPLOY_IGNORED_LIB_DIRS)
set(QT_DEPLOY_IGNORED_LIB_DIRS "/lib")
endif()
# These are internal implementation details. They may be removed at any time.
set(__QT_DEPLOY_SYSTEM_NAME "Linux")
set(__QT_DEPLOY_SHARED_LIBRARY_SUFFIX ".so")
set(__QT_DEPLOY_IS_SHARED_LIBS_BUILD "ON")
set(__QT_DEPLOY_TOOL "GRD")
set(__QT_DEPLOY_IMPL_DIR "/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/.qt")
set(__QT_DEPLOY_VERBOSE "")
set(__QT_CMAKE_EXPORT_NAMESPACE "Qt6")
set(__QT_LIBINFIX "")
set(__QT_DEPLOY_GENERATOR_IS_MULTI_CONFIG "0")
set(__QT_DEPLOY_ACTIVE_CONFIG "Release")
set(__QT_NO_CREATE_VERSIONLESS_FUNCTIONS "")
set(__QT_DEFAULT_MAJOR_VERSION "6")
set(__QT_DEPLOY_QT_ADDITIONAL_PACKAGES_PREFIX_PATH "")
set(__QT_DEPLOY_QT_INSTALL_PREFIX "/usr")
set(__QT_DEPLOY_QT_INSTALL_BINS "lib/qt6/bin")
set(__QT_DEPLOY_QT_INSTALL_DATA "share/qt6")
set(__QT_DEPLOY_QT_INSTALL_DESCRIPTIONSDIR "lib/qt6/modules")
set(__QT_DEPLOY_QT_INSTALL_LIBEXECS "lib/qt6")
set(__QT_DEPLOY_QT_INSTALL_PLUGINS "lib/qt6/plugins")
set(__QT_DEPLOY_QT_INSTALL_TRANSLATIONS "share/qt6/translations")
set(__QT_DEPLOY_TARGET_QT_PATHS_PATH "/usr/lib/qt6/bin/qtpaths6")
set(__QT_DEPLOY_MUST_ADJUST_PLUGINS_RPATH "ON")
set(__QT_DEPLOY_USE_PATCHELF "")
set(__QT_DEPLOY_PATCHELF_EXECUTABLE "")
set(__QT_DEPLOY_QT_IS_MULTI_CONFIG_BUILD_WITH_DEBUG "FALSE")
set(__QT_DEPLOY_QT_DEBUG_POSTFIX "")
# Define the CMake commands to be made available during deployment.
set(__qt_deploy_support_files
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/.qt/QtDeployTargets.cmake"
"/usr/lib/cmake/Qt6Core/Qt6CoreDeploySupport.cmake"
)
foreach(__qt_deploy_support_file IN LISTS __qt_deploy_support_files)
include("${__qt_deploy_support_file}")
endforeach()
unset(__qt_deploy_support_file)
unset(__qt_deploy_support_files)
@@ -0,0 +1,2 @@
set(__QT_DEPLOY_TARGET_StreamHubQtClient_FILE /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/StreamHubQtClient)
set(__QT_DEPLOY_TARGET_StreamHubQtClient_TYPE EXECUTABLE)
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,102 @@
set(CMAKE_CXX_COMPILER "/usr/bin/c++")
set(CMAKE_CXX_COMPILER_ARG1 "")
set(CMAKE_CXX_COMPILER_ID "GNU")
set(CMAKE_CXX_COMPILER_VERSION "16.1.1")
set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
set(CMAKE_CXX_COMPILER_WRAPPER "")
set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "20")
set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON")
set(CMAKE_CXX_STANDARD_LATEST "26")
set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23;cxx_std_26")
set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20")
set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23")
set(CMAKE_CXX26_COMPILE_FEATURES "cxx_std_26")
set(CMAKE_CXX_PLATFORM_ID "Linux")
set(CMAKE_CXX_SIMULATE_ID "")
set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "GNU")
set(CMAKE_CXX_COMPILER_APPLE_SYSROOT "")
set(CMAKE_CXX_SIMULATE_VERSION "")
set(CMAKE_CXX_COMPILER_ARCHITECTURE_ID "x86_64")
set(CMAKE_AR "/usr/bin/ar")
set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar")
set(CMAKE_RANLIB "/usr/bin/ranlib")
set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib")
set(CMAKE_LINKER "/usr/bin/ld")
set(CMAKE_LINKER_LINK "")
set(CMAKE_LINKER_LLD "")
set(CMAKE_CXX_COMPILER_LINKER "/usr/bin/ld")
set(CMAKE_CXX_COMPILER_LINKER_ID "GNU")
set(CMAKE_CXX_COMPILER_LINKER_VERSION 2.46.0)
set(CMAKE_CXX_COMPILER_LINKER_FRONTEND_VARIANT GNU)
set(CMAKE_MT "")
set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND")
set(CMAKE_COMPILER_IS_GNUCXX 1)
set(CMAKE_CXX_COMPILER_LOADED 1)
set(CMAKE_CXX_COMPILER_WORKS TRUE)
set(CMAKE_CXX_ABI_COMPILED TRUE)
set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
set(CMAKE_CXX_COMPILER_ID_RUN 1)
set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm;ccm;cxxm;c++m)
set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
foreach (lang IN ITEMS C OBJC OBJCXX)
if (CMAKE_${lang}_COMPILER_ID_RUN)
foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS)
list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension})
endforeach()
endif()
endforeach()
set(CMAKE_CXX_LINKER_PREFERENCE 30)
set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
set(CMAKE_CXX_LINKER_DEPFILE_SUPPORTED TRUE)
set(CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED TRUE)
set(CMAKE_CXX_LINKER_PUSHPOP_STATE_SUPPORTED TRUE)
# Save compiler ABI information.
set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
set(CMAKE_CXX_COMPILER_ABI "ELF")
set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN")
set(CMAKE_CXX_LIBRARY_ARCHITECTURE "")
if(CMAKE_CXX_SIZEOF_DATA_PTR)
set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
endif()
if(CMAKE_CXX_COMPILER_ABI)
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
endif()
if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
set(CMAKE_LIBRARY_ARCHITECTURE "")
endif()
set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
endif()
set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/16.1.1;/usr/include/c++/16.1.1/x86_64-pc-linux-gnu;/usr/include/c++/16.1.1/backward;/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include;/usr/local/include;/usr/include")
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;atomic_asneeded;c;gcc_s;gcc")
set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1;/usr/lib;/lib")
set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
set(CMAKE_CXX_COMPILER_CLANG_RESOURCE_DIR "")
set(CMAKE_CXX_COMPILER_IMPORT_STD "")
set(CMAKE_CXX_COMPILER_IMPORT_STD_ERROR_MESSAGE "Unsupported generator: Unix Makefiles")
set(CMAKE_CXX_STDLIB_MODULES_JSON "")
@@ -0,0 +1,15 @@
set(CMAKE_HOST_SYSTEM "Linux-7.0.12-arch1-1")
set(CMAKE_HOST_SYSTEM_NAME "Linux")
set(CMAKE_HOST_SYSTEM_VERSION "7.0.12-arch1-1")
set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
set(CMAKE_SYSTEM "Linux-7.0.12-arch1-1")
set(CMAKE_SYSTEM_NAME "Linux")
set(CMAKE_SYSTEM_VERSION "7.0.12-arch1-1")
set(CMAKE_SYSTEM_PROCESSOR "x86_64")
set(CMAKE_CROSSCOMPILING "FALSE")
set(CMAKE_SYSTEM_LOADED 1)
@@ -0,0 +1,949 @@
/* This source file must have a .cpp extension so that all C++ compilers
recognize the extension without flags. Borland does not know .cxx for
example. */
#ifndef __cplusplus
# error "A C compiler has been selected for C++."
#endif
#if !defined(__has_include)
/* If the compiler does not have __has_include, pretend the answer is
always no. */
# define __has_include(x) 0
#endif
/* Version number components: V=Version, R=Revision, P=Patch
Version date components: YYYY=Year, MM=Month, DD=Day */
#if defined(__INTEL_COMPILER) || defined(__ICC)
# define COMPILER_ID "Intel"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# if defined(__GNUC__)
# define SIMULATE_ID "GNU"
# endif
/* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later,
except that a few beta releases use the old format with V=2021. */
# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
# if defined(__INTEL_COMPILER_UPDATE)
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
# else
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
# endif
# else
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER)
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE)
/* The third version component from --version is an update index,
but no macro is provided for it. */
# define COMPILER_VERSION_PATCH DEC(0)
# endif
# if defined(__INTEL_COMPILER_BUILD_DATE)
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
# endif
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
# if defined(__GNUC__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
# elif defined(__GNUG__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
# endif
# if defined(__GNUC_MINOR__)
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
# endif
# if defined(__GNUC_PATCHLEVEL__)
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
# endif
#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER)
# define COMPILER_ID "IntelLLVM"
#if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
#endif
#if defined(__GNUC__)
# define SIMULATE_ID "GNU"
#endif
/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and
* later. Look for 6 digit vs. 8 digit version number to decide encoding.
* VVVV is no smaller than the current year when a version is released.
*/
#if __INTEL_LLVM_COMPILER < 1000000L
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100)
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10)
#else
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000)
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100)
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100)
#endif
#if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
#endif
#if defined(__GNUC__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
#elif defined(__GNUG__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
#endif
#if defined(__GNUC_MINOR__)
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
#endif
#if defined(__GNUC_PATCHLEVEL__)
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
#endif
#elif defined(__PATHCC__)
# define COMPILER_ID "PathScale"
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
# if defined(__PATHCC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
# endif
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
# define COMPILER_ID "Embarcadero"
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
#elif defined(__BORLANDC__)
# define COMPILER_ID "Borland"
/* __BORLANDC__ = 0xVRR */
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
# define COMPILER_ID "Watcom"
/* __WATCOMC__ = VVRR */
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
# if (__WATCOMC__ % 10) > 0
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
# endif
#elif defined(__WATCOMC__)
# define COMPILER_ID "OpenWatcom"
/* __WATCOMC__ = VVRP + 1100 */
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
# if (__WATCOMC__ % 10) > 0
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
# endif
#elif defined(__SUNPRO_CC)
# define COMPILER_ID "SunPro"
# if __SUNPRO_CC >= 0x5100
/* __SUNPRO_CC = 0xVRRP */
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
# else
/* __SUNPRO_CC = 0xVRP */
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
# endif
#elif defined(__HP_aCC)
# define COMPILER_ID "HP"
/* __HP_aCC = VVRRPP */
# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100)
#elif defined(__DECCXX)
# define COMPILER_ID "Compaq"
/* __DECCXX_VER = VVRRTPPPP */
# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100)
# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000)
#elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
# define COMPILER_ID "zOS"
/* __IBMCPP__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
#elif defined(__open_xl__) && defined(__clang__)
# define COMPILER_ID "IBMClang"
# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__)
# define COMPILER_VERSION_MINOR DEC(__open_xl_release__)
# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__)
# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__)
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
#elif defined(__ibmxl__) && defined(__clang__)
# define COMPILER_ID "XLClang"
# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
# define COMPILER_ID "XL"
/* __IBMCPP__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
# define COMPILER_ID "VisualAge"
/* __IBMCPP__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
#elif defined(__NVCOMPILER)
# define COMPILER_ID "NVHPC"
# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__)
# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__)
# if defined(__NVCOMPILER_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__)
# endif
#elif defined(__PGI)
# define COMPILER_ID "PGI"
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
# if defined(__PGIC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
# endif
#elif defined(__clang__) && defined(__cray__)
# define COMPILER_ID "CrayClang"
# define COMPILER_VERSION_MAJOR DEC(__cray_major__)
# define COMPILER_VERSION_MINOR DEC(__cray_minor__)
# define COMPILER_VERSION_PATCH DEC(__cray_patchlevel__)
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
#elif defined(_CRAYC)
# define COMPILER_ID "Cray"
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
#elif defined(__TI_COMPILER_VERSION__)
# define COMPILER_ID "TI"
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
#elif defined(__CLANG_FUJITSU)
# define COMPILER_ID "FujitsuClang"
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
#elif defined(__FUJITSU)
# define COMPILER_ID "Fujitsu"
# if defined(__FCC_version__)
# define COMPILER_VERSION __FCC_version__
# elif defined(__FCC_major__)
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
# endif
# if defined(__fcc_version)
# define COMPILER_VERSION_INTERNAL DEC(__fcc_version)
# elif defined(__FCC_VERSION)
# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION)
# endif
#elif defined(__ghs__)
# define COMPILER_ID "GHS"
/* __GHS_VERSION_NUMBER = VVVVRP */
# ifdef __GHS_VERSION_NUMBER
# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
# endif
#elif defined(__TASKING__)
# define COMPILER_ID "Tasking"
# define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000)
# define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100)
# define COMPILER_VERSION_INTERNAL DEC(__VERSION__)
#elif defined(__ORANGEC__)
# define COMPILER_ID "OrangeC"
# define COMPILER_VERSION_MAJOR DEC(__ORANGEC_MAJOR__)
# define COMPILER_VERSION_MINOR DEC(__ORANGEC_MINOR__)
# define COMPILER_VERSION_PATCH DEC(__ORANGEC_PATCHLEVEL__)
#elif defined(__RENESAS__)
# define COMPILER_ID "Renesas"
/* __RENESAS_VERSION__ = 0xVVRRPP00 */
# define COMPILER_VERSION_MAJOR HEX(__RENESAS_VERSION__ >> 24 & 0xFF)
# define COMPILER_VERSION_MINOR HEX(__RENESAS_VERSION__ >> 16 & 0xFF)
# define COMPILER_VERSION_PATCH HEX(__RENESAS_VERSION__ >> 8 & 0xFF)
#elif defined(__SCO_VERSION__)
# define COMPILER_ID "SCO"
#elif defined(__ARMCC_VERSION) && !defined(__clang__)
# define COMPILER_ID "ARMCC"
#if __ARMCC_VERSION >= 1000000
/* __ARMCC_VERSION = VRRPPPP */
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
#else
/* __ARMCC_VERSION = VRPPPP */
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
#endif
#elif defined(__clang__) && defined(__apple_build_version__)
# define COMPILER_ID "AppleClang"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
# define COMPILER_ID "ARMClang"
# define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
# define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
# define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION/100 % 100)
# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
#elif defined(__clang__) && defined(__ti__)
# define COMPILER_ID "TIClang"
# define COMPILER_VERSION_MAJOR DEC(__ti_major__)
# define COMPILER_VERSION_MINOR DEC(__ti_minor__)
# define COMPILER_VERSION_PATCH DEC(__ti_patchlevel__)
# define COMPILER_VERSION_INTERNAL DEC(__ti_version__)
#elif defined(__clang__)
# define COMPILER_ID "Clang"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__))
# define COMPILER_ID "LCC"
# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100)
# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100)
# if defined(__LCC_MINOR__)
# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__)
# endif
# if defined(__GNUC__) && defined(__GNUC_MINOR__)
# define SIMULATE_ID "GNU"
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
# if defined(__GNUC_PATCHLEVEL__)
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
# endif
# endif
#elif defined(__GNUC__) || defined(__GNUG__)
# define COMPILER_ID "GNU"
# if defined(__GNUC__)
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
# else
# define COMPILER_VERSION_MAJOR DEC(__GNUG__)
# endif
# if defined(__GNUC_MINOR__)
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
# endif
# if defined(__GNUC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
# endif
#elif defined(_MSC_VER)
# define COMPILER_ID "MSVC"
/* _MSC_VER = VVRR */
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
# if defined(_MSC_FULL_VER)
# if _MSC_VER >= 1400
/* _MSC_FULL_VER = VVRRPPPPP */
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
# else
/* _MSC_FULL_VER = VVRRPPPP */
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
# endif
# endif
# if defined(_MSC_BUILD)
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
# endif
#elif defined(_ADI_COMPILER)
# define COMPILER_ID "ADSP"
#if defined(__VERSIONNUM__)
/* __VERSIONNUM__ = 0xVVRRPPTT */
# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF)
# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF)
# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF)
# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF)
#endif
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
# define COMPILER_ID "IAR"
# if defined(__VER__) && defined(__ICCARM__)
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__))
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
# endif
#elif defined(__DCC__) && defined(_DIAB_TOOL)
# define COMPILER_ID "Diab"
# define COMPILER_VERSION_MAJOR DEC(__VERSION_MAJOR_NUMBER__)
# define COMPILER_VERSION_MINOR DEC(__VERSION_MINOR_NUMBER__)
# define COMPILER_VERSION_PATCH DEC(__VERSION_ARCH_FEATURE_NUMBER__)
# define COMPILER_VERSION_TWEAK DEC(__VERSION_BUG_FIX_NUMBER__)
/* These compilers are either not known or too old to define an
identification macro. Try to identify the platform and guess that
it is the native compiler. */
#elif defined(__hpux) || defined(__hpua)
# define COMPILER_ID "HP"
#else /* unknown compiler */
# define COMPILER_ID ""
#endif
/* Construct the string literal in pieces to prevent the source from
getting matched. Store it in a pointer rather than an array
because some compilers will just produce instructions to fill the
array rather than assigning a pointer to a static array. */
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
#ifdef SIMULATE_ID
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
#endif
#ifdef __QNXNTO__
char const* qnxnto = "INFO" ":" "qnxnto[]";
#endif
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
#endif
#define STRINGIFY_HELPER(X) #X
#define STRINGIFY(X) STRINGIFY_HELPER(X)
/* Identify known platforms by name. */
#if defined(__linux) || defined(__linux__) || defined(linux)
# define PLATFORM_ID "Linux"
#elif defined(__MSYS__)
# define PLATFORM_ID "MSYS"
#elif defined(__CYGWIN__)
# define PLATFORM_ID "Cygwin"
#elif defined(__MINGW32__)
# define PLATFORM_ID "MinGW"
#elif defined(__APPLE__)
# define PLATFORM_ID "Darwin"
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
# define PLATFORM_ID "Windows"
#elif defined(__FreeBSD__) || defined(__FreeBSD)
# define PLATFORM_ID "FreeBSD"
#elif defined(__NetBSD__) || defined(__NetBSD)
# define PLATFORM_ID "NetBSD"
#elif defined(__OpenBSD__) || defined(__OPENBSD)
# define PLATFORM_ID "OpenBSD"
#elif defined(__sun) || defined(sun)
# define PLATFORM_ID "SunOS"
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
# define PLATFORM_ID "AIX"
#elif defined(__hpux) || defined(__hpux__)
# define PLATFORM_ID "HP-UX"
#elif defined(__HAIKU__)
# define PLATFORM_ID "Haiku"
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
# define PLATFORM_ID "BeOS"
#elif defined(__QNX__) || defined(__QNXNTO__)
# define PLATFORM_ID "QNX"
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
# define PLATFORM_ID "Tru64"
#elif defined(__riscos) || defined(__riscos__)
# define PLATFORM_ID "RISCos"
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
# define PLATFORM_ID "SINIX"
#elif defined(__UNIX_SV__)
# define PLATFORM_ID "UNIX_SV"
#elif defined(__bsdos__)
# define PLATFORM_ID "BSDOS"
#elif defined(_MPRAS) || defined(MPRAS)
# define PLATFORM_ID "MP-RAS"
#elif defined(__osf) || defined(__osf__)
# define PLATFORM_ID "OSF1"
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
# define PLATFORM_ID "SCO_SV"
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
# define PLATFORM_ID "ULTRIX"
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
# define PLATFORM_ID "Xenix"
#elif defined(__WATCOMC__)
# if defined(__LINUX__)
# define PLATFORM_ID "Linux"
# elif defined(__DOS__)
# define PLATFORM_ID "DOS"
# elif defined(__OS2__)
# define PLATFORM_ID "OS2"
# elif defined(__WINDOWS__)
# define PLATFORM_ID "Windows3x"
# elif defined(__VXWORKS__)
# define PLATFORM_ID "VxWorks"
# else /* unknown platform */
# define PLATFORM_ID
# endif
#elif defined(__INTEGRITY)
# if defined(INT_178B)
# define PLATFORM_ID "Integrity178"
# else /* regular Integrity */
# define PLATFORM_ID "Integrity"
# endif
# elif defined(_ADI_COMPILER)
# define PLATFORM_ID "ADSP"
#else /* unknown platform */
# define PLATFORM_ID
#endif
/* For windows compilers MSVC and Intel we can determine
the architecture of the compiler being used. This is because
the compilers do not have flags that can change the architecture,
but rather depend on which compiler is being used
*/
#if defined(_WIN32) && defined(_MSC_VER)
# if defined(_M_IA64)
# define ARCHITECTURE_ID "IA64"
# elif defined(_M_ARM64EC)
# define ARCHITECTURE_ID "ARM64EC"
# elif defined(_M_X64) || defined(_M_AMD64)
# define ARCHITECTURE_ID "x64"
# elif defined(_M_IX86)
# define ARCHITECTURE_ID "X86"
# elif defined(_M_ARM64)
# define ARCHITECTURE_ID "ARM64"
# elif defined(_M_ARM)
# if _M_ARM == 4
# define ARCHITECTURE_ID "ARMV4I"
# elif _M_ARM == 5
# define ARCHITECTURE_ID "ARMV5I"
# else
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
# endif
# elif defined(_M_MIPS)
# define ARCHITECTURE_ID "MIPS"
# elif defined(_M_SH)
# define ARCHITECTURE_ID "SHx"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__WATCOMC__)
# if defined(_M_I86)
# define ARCHITECTURE_ID "I86"
# elif defined(_M_IX86)
# define ARCHITECTURE_ID "X86"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
# if defined(__ICCARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__ICCRX__)
# define ARCHITECTURE_ID "RX"
# elif defined(__ICCRH850__)
# define ARCHITECTURE_ID "RH850"
# elif defined(__ICCRL78__)
# define ARCHITECTURE_ID "RL78"
# elif defined(__ICCRISCV__)
# define ARCHITECTURE_ID "RISCV"
# elif defined(__ICCAVR__)
# define ARCHITECTURE_ID "AVR"
# elif defined(__ICC430__)
# define ARCHITECTURE_ID "MSP430"
# elif defined(__ICCV850__)
# define ARCHITECTURE_ID "V850"
# elif defined(__ICC8051__)
# define ARCHITECTURE_ID "8051"
# elif defined(__ICCSTM8__)
# define ARCHITECTURE_ID "STM8"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__ghs__)
# if defined(__PPC64__)
# define ARCHITECTURE_ID "PPC64"
# elif defined(__ppc__)
# define ARCHITECTURE_ID "PPC"
# elif defined(__ARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__x86_64__)
# define ARCHITECTURE_ID "x64"
# elif defined(__i386__)
# define ARCHITECTURE_ID "X86"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__clang__) && defined(__ti__)
# if defined(__ARM_ARCH)
# define ARCHITECTURE_ID "ARM"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__TI_COMPILER_VERSION__)
# if defined(__TI_ARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__MSP430__)
# define ARCHITECTURE_ID "MSP430"
# elif defined(__TMS320C28XX__)
# define ARCHITECTURE_ID "TMS320C28x"
# elif defined(__TMS320C6X__) || defined(_TMS320C6X)
# define ARCHITECTURE_ID "TMS320C6x"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
# elif defined(__ADSPSHARC__)
# define ARCHITECTURE_ID "SHARC"
# elif defined(__ADSPBLACKFIN__)
# define ARCHITECTURE_ID "Blackfin"
#elif defined(__TASKING__)
# if defined(__CTC__) || defined(__CPTC__)
# define ARCHITECTURE_ID "TriCore"
# elif defined(__CMCS__)
# define ARCHITECTURE_ID "MCS"
# elif defined(__CARM__) || defined(__CPARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__CARC__)
# define ARCHITECTURE_ID "ARC"
# elif defined(__C51__)
# define ARCHITECTURE_ID "8051"
# elif defined(__CPCP__)
# define ARCHITECTURE_ID "PCP"
# else
# define ARCHITECTURE_ID ""
# endif
#elif defined(__RENESAS__)
# if defined(__CCRX__)
# define ARCHITECTURE_ID "RX"
# elif defined(__CCRL__)
# define ARCHITECTURE_ID "RL78"
# elif defined(__CCRH__)
# define ARCHITECTURE_ID "RH850"
# else
# define ARCHITECTURE_ID ""
# endif
#else
# define ARCHITECTURE_ID
#endif
/* Convert integer to decimal digit literals. */
#define DEC(n) \
('0' + (((n) / 10000000)%10)), \
('0' + (((n) / 1000000)%10)), \
('0' + (((n) / 100000)%10)), \
('0' + (((n) / 10000)%10)), \
('0' + (((n) / 1000)%10)), \
('0' + (((n) / 100)%10)), \
('0' + (((n) / 10)%10)), \
('0' + ((n) % 10))
/* Convert integer to hex digit literals. */
#define HEX(n) \
('0' + ((n)>>28 & 0xF)), \
('0' + ((n)>>24 & 0xF)), \
('0' + ((n)>>20 & 0xF)), \
('0' + ((n)>>16 & 0xF)), \
('0' + ((n)>>12 & 0xF)), \
('0' + ((n)>>8 & 0xF)), \
('0' + ((n)>>4 & 0xF)), \
('0' + ((n) & 0xF))
/* Construct a string literal encoding the version number. */
#ifdef COMPILER_VERSION
char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]";
/* Construct a string literal encoding the version number components. */
#elif defined(COMPILER_VERSION_MAJOR)
char const info_version[] = {
'I', 'N', 'F', 'O', ':',
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
COMPILER_VERSION_MAJOR,
# ifdef COMPILER_VERSION_MINOR
'.', COMPILER_VERSION_MINOR,
# ifdef COMPILER_VERSION_PATCH
'.', COMPILER_VERSION_PATCH,
# ifdef COMPILER_VERSION_TWEAK
'.', COMPILER_VERSION_TWEAK,
# endif
# endif
# endif
']','\0'};
#endif
/* Construct a string literal encoding the internal version number. */
#ifdef COMPILER_VERSION_INTERNAL
char const info_version_internal[] = {
'I', 'N', 'F', 'O', ':',
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
'i','n','t','e','r','n','a','l','[',
COMPILER_VERSION_INTERNAL,']','\0'};
#elif defined(COMPILER_VERSION_INTERNAL_STR)
char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]";
#endif
/* Construct a string literal encoding the version number components. */
#ifdef SIMULATE_VERSION_MAJOR
char const info_simulate_version[] = {
'I', 'N', 'F', 'O', ':',
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
SIMULATE_VERSION_MAJOR,
# ifdef SIMULATE_VERSION_MINOR
'.', SIMULATE_VERSION_MINOR,
# ifdef SIMULATE_VERSION_PATCH
'.', SIMULATE_VERSION_PATCH,
# ifdef SIMULATE_VERSION_TWEAK
'.', SIMULATE_VERSION_TWEAK,
# endif
# endif
# endif
']','\0'};
#endif
/* Construct the string literal in pieces to prevent the source from
getting matched. Store it in a pointer rather than an array
because some compilers will just produce instructions to fill the
array rather than assigning a pointer to a static array. */
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
#define CXX_STD_98 199711L
#define CXX_STD_11 201103L
#define CXX_STD_14 201402L
#define CXX_STD_17 201703L
#define CXX_STD_20 202002L
#define CXX_STD_23 202302L
#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG)
# if _MSVC_LANG > CXX_STD_17
# define CXX_STD _MSVC_LANG
# elif _MSVC_LANG == CXX_STD_17 && defined(__cpp_aggregate_paren_init)
# define CXX_STD CXX_STD_20
# elif _MSVC_LANG > CXX_STD_14 && __cplusplus > CXX_STD_17
# define CXX_STD CXX_STD_20
# elif _MSVC_LANG > CXX_STD_14
# define CXX_STD CXX_STD_17
# elif defined(__INTEL_CXX11_MODE__) && defined(__cpp_aggregate_nsdmi)
# define CXX_STD CXX_STD_14
# elif defined(__INTEL_CXX11_MODE__)
# define CXX_STD CXX_STD_11
# else
# define CXX_STD CXX_STD_98
# endif
#elif defined(_MSC_VER) && defined(_MSVC_LANG)
# if _MSVC_LANG > __cplusplus
# define CXX_STD _MSVC_LANG
# else
# define CXX_STD __cplusplus
# endif
#elif defined(__NVCOMPILER)
# if __cplusplus == CXX_STD_17 && defined(__cpp_aggregate_paren_init)
# define CXX_STD CXX_STD_20
# else
# define CXX_STD __cplusplus
# endif
#elif defined(__INTEL_COMPILER) || defined(__PGI)
# if __cplusplus == CXX_STD_11 && defined(__cpp_namespace_attributes)
# define CXX_STD CXX_STD_17
# elif __cplusplus == CXX_STD_11 && defined(__cpp_aggregate_nsdmi)
# define CXX_STD CXX_STD_14
# else
# define CXX_STD __cplusplus
# endif
#elif (defined(__IBMCPP__) || defined(__ibmxl__)) && defined(__linux__)
# if __cplusplus == CXX_STD_11 && defined(__cpp_aggregate_nsdmi)
# define CXX_STD CXX_STD_14
# else
# define CXX_STD __cplusplus
# endif
#elif __cplusplus == 1 && defined(__GXX_EXPERIMENTAL_CXX0X__)
# define CXX_STD CXX_STD_11
#else
# define CXX_STD __cplusplus
#endif
const char* info_language_standard_default = "INFO" ":" "standard_default["
#if CXX_STD > CXX_STD_23
"26"
#elif CXX_STD > CXX_STD_20
"23"
#elif CXX_STD > CXX_STD_17
"20"
#elif CXX_STD > CXX_STD_14
"17"
#elif CXX_STD > CXX_STD_11
"14"
#elif CXX_STD >= CXX_STD_11
"11"
#else
"98"
#endif
"]";
const char* info_language_extensions_default = "INFO" ":" "extensions_default["
#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \
defined(__TI_COMPILER_VERSION__) || defined(__RENESAS__)) && \
!defined(__STRICT_ANSI__)
"ON"
#else
"OFF"
#endif
"]";
/*--------------------------------------------------------------------------*/
int main(int argc, char* argv[])
{
int require = 0;
require += info_compiler[argc];
require += info_platform[argc];
require += info_arch[argc];
#ifdef COMPILER_VERSION_MAJOR
require += info_version[argc];
#endif
#if defined(COMPILER_VERSION_INTERNAL) || defined(COMPILER_VERSION_INTERNAL_STR)
require += info_version_internal[argc];
#endif
#ifdef SIMULATE_ID
require += info_simulate[argc];
#endif
#ifdef SIMULATE_VERSION_MAJOR
require += info_simulate_version[argc];
#endif
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
require += info_cray[argc];
#endif
require += info_language_standard_default[argc];
require += info_language_extensions_default[argc];
(void)argv;
return require;
}
Binary file not shown.
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,16 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 4.3
# Relative path conversion top directories.
set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt")
set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build")
# Force unix paths in dependencies.
set(CMAKE_FORCE_UNIX_PATHS 1)
# The C and CXX include file regular expressions for this directory.
set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})
@@ -0,0 +1,3 @@
# Hashes of file build rules.
c51d7f9574edec7c54e07718e226e487 CMakeFiles/StreamHubQtClient_autogen
1a58e86cf3158e28144ec64d4309d76e StreamHubQtClient_autogen/timestamp
@@ -0,0 +1,7 @@
{
"InstallScripts" :
[
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/cmake_install.cmake"
],
"Parallel" : false
}
@@ -0,0 +1,499 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 4.3
# The generator used is:
set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles")
# The top level Makefile was generated from the following files:
set(CMAKE_MAKEFILE_DEPENDS
"CMakeCache.txt"
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/CMakeLists.txt"
"CMakeFiles/4.3.4/CMakeCXXCompiler.cmake"
"CMakeFiles/4.3.4/CMakeSystem.cmake"
"/usr/lib/cmake/Qt6/FindWrapAtomic.cmake"
"/usr/lib/cmake/Qt6/FindWrapOpenGL.cmake"
"/usr/lib/cmake/Qt6/FindWrapVulkanHeaders.cmake"
"/usr/lib/cmake/Qt6/Qt6Config.cmake"
"/usr/lib/cmake/Qt6/Qt6ConfigExtras.cmake"
"/usr/lib/cmake/Qt6/Qt6ConfigVersion.cmake"
"/usr/lib/cmake/Qt6/Qt6ConfigVersionImpl.cmake"
"/usr/lib/cmake/Qt6/Qt6Dependencies.cmake"
"/usr/lib/cmake/Qt6/Qt6Targets.cmake"
"/usr/lib/cmake/Qt6/Qt6TargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6/Qt6VersionlessAliasTargets.cmake"
"/usr/lib/cmake/Qt6/QtFeature.cmake"
"/usr/lib/cmake/Qt6/QtFeatureCommon.cmake"
"/usr/lib/cmake/Qt6/QtInstallPaths.cmake"
"/usr/lib/cmake/Qt6/QtPublicAndroidHelpers.cmake"
"/usr/lib/cmake/Qt6/QtPublicAppleHelpers.cmake"
"/usr/lib/cmake/Qt6/QtPublicCMakeEarlyPolicyHelpers.cmake"
"/usr/lib/cmake/Qt6/QtPublicCMakeHelpers.cmake"
"/usr/lib/cmake/Qt6/QtPublicCMakeVersionHelpers.cmake"
"/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake"
"/usr/lib/cmake/Qt6/QtPublicExternalProjectHelpers.cmake"
"/usr/lib/cmake/Qt6/QtPublicFinalizerHelpers.cmake"
"/usr/lib/cmake/Qt6/QtPublicFindPackageHelpers.cmake"
"/usr/lib/cmake/Qt6/QtPublicGitHelpers.cmake"
"/usr/lib/cmake/Qt6/QtPublicPluginHelpers.cmake"
"/usr/lib/cmake/Qt6/QtPublicPluginHelpers_v2.cmake"
"/usr/lib/cmake/Qt6/QtPublicSbomAttributionHelpers.cmake"
"/usr/lib/cmake/Qt6/QtPublicSbomBuildToolHelpers.cmake"
"/usr/lib/cmake/Qt6/QtPublicSbomCommonGenerationHelpers.cmake"
"/usr/lib/cmake/Qt6/QtPublicSbomCpeHelpers.cmake"
"/usr/lib/cmake/Qt6/QtPublicSbomCycloneDXHelpers.cmake"
"/usr/lib/cmake/Qt6/QtPublicSbomDepHelpers.cmake"
"/usr/lib/cmake/Qt6/QtPublicSbomDocumentNamespaceHelpers.cmake"
"/usr/lib/cmake/Qt6/QtPublicSbomExternalReferenceHelpers.cmake"
"/usr/lib/cmake/Qt6/QtPublicSbomFileHelpers.cmake"
"/usr/lib/cmake/Qt6/QtPublicSbomGenerationCycloneDXHelpers.cmake"
"/usr/lib/cmake/Qt6/QtPublicSbomGenerationHelpers.cmake"
"/usr/lib/cmake/Qt6/QtPublicSbomHelpers.cmake"
"/usr/lib/cmake/Qt6/QtPublicSbomLicenseHelpers.cmake"
"/usr/lib/cmake/Qt6/QtPublicSbomOpsHelpers.cmake"
"/usr/lib/cmake/Qt6/QtPublicSbomPurlHelpers.cmake"
"/usr/lib/cmake/Qt6/QtPublicSbomPythonHelpers.cmake"
"/usr/lib/cmake/Qt6/QtPublicSbomQtEntityHelpers.cmake"
"/usr/lib/cmake/Qt6/QtPublicSbomRelationshipHelpers.cmake"
"/usr/lib/cmake/Qt6/QtPublicSbomSystemDepHelpers.cmake"
"/usr/lib/cmake/Qt6/QtPublicTargetHelpers.cmake"
"/usr/lib/cmake/Qt6/QtPublicTestHelpers.cmake"
"/usr/lib/cmake/Qt6/QtPublicToolHelpers.cmake"
"/usr/lib/cmake/Qt6/QtPublicWalkLibsHelpers.cmake"
"/usr/lib/cmake/Qt6/QtPublicWindowsHelpers.cmake"
"/usr/lib/cmake/Qt6Core/Qt6CoreAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Core/Qt6CoreConfig.cmake"
"/usr/lib/cmake/Qt6Core/Qt6CoreConfigExtras.cmake"
"/usr/lib/cmake/Qt6Core/Qt6CoreConfigVersion.cmake"
"/usr/lib/cmake/Qt6Core/Qt6CoreConfigVersionImpl.cmake"
"/usr/lib/cmake/Qt6Core/Qt6CoreDependencies.cmake"
"/usr/lib/cmake/Qt6Core/Qt6CoreMacros.cmake"
"/usr/lib/cmake/Qt6Core/Qt6CoreTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Core/Qt6CoreTargets.cmake"
"/usr/lib/cmake/Qt6Core/Qt6CoreTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Core/Qt6CoreVersionlessAliasTargets.cmake"
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfig.cmake"
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfigVersion.cmake"
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfigVersionImpl.cmake"
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsDependencies.cmake"
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsTargets.cmake"
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsVersionlessTargets.cmake"
"/usr/lib/cmake/Qt6DBus/Qt6DBusAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6DBus/Qt6DBusConfig.cmake"
"/usr/lib/cmake/Qt6DBus/Qt6DBusConfigVersion.cmake"
"/usr/lib/cmake/Qt6DBus/Qt6DBusConfigVersionImpl.cmake"
"/usr/lib/cmake/Qt6DBus/Qt6DBusDependencies.cmake"
"/usr/lib/cmake/Qt6DBus/Qt6DBusMacros.cmake"
"/usr/lib/cmake/Qt6DBus/Qt6DBusTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6DBus/Qt6DBusTargets.cmake"
"/usr/lib/cmake/Qt6DBus/Qt6DBusTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6DBus/Qt6DBusVersionlessAliasTargets.cmake"
"/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsConfig.cmake"
"/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsConfigVersion.cmake"
"/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsConfigVersionImpl.cmake"
"/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsDependencies.cmake"
"/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsTargets.cmake"
"/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsVersionlessTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6GuiAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6GuiConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6GuiConfigVersion.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6GuiConfigVersionImpl.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6GuiDependencies.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6GuiPlugins.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6GuiTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6GuiTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6GuiTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6GuiVersionlessAliasTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QGifPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QGifPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QGifPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QGifPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QGifPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QICNSPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QICNSPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QICNSPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QICNSPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QICNSPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QICOPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QICOPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QICOPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QICOPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QICOPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QJp2PluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QJp2PluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QJp2PluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QJp2PluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QJp2PluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QJpegPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QJpegPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QJpegPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QJpegPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QJpegPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QMngPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QMngPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QMngPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QMngPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QMngPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QPdfPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QPdfPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QPdfPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QPdfPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QPdfPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QSvgPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QSvgPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QSvgPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QSvgPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QSvgPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QTgaPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QTgaPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QTgaPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QTgaPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QTgaPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QTiffPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QTiffPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QTiffPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QTiffPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QTiffPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWebpPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWebpPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWebpPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWebpPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QWebpPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginConfig.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginTargets.cmake"
"/usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsConfig.cmake"
"/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsConfigVersion.cmake"
"/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsConfigVersionImpl.cmake"
"/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsDependencies.cmake"
"/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsTargets.cmake"
"/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsVersionlessTargets.cmake"
"/usr/lib/cmake/Qt6Network/Qt6NetworkAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Network/Qt6NetworkConfig.cmake"
"/usr/lib/cmake/Qt6Network/Qt6NetworkConfigVersion.cmake"
"/usr/lib/cmake/Qt6Network/Qt6NetworkConfigVersionImpl.cmake"
"/usr/lib/cmake/Qt6Network/Qt6NetworkDependencies.cmake"
"/usr/lib/cmake/Qt6Network/Qt6NetworkPlugins.cmake"
"/usr/lib/cmake/Qt6Network/Qt6NetworkTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Network/Qt6NetworkTargets.cmake"
"/usr/lib/cmake/Qt6Network/Qt6NetworkTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Network/Qt6NetworkVersionlessAliasTargets.cmake"
"/usr/lib/cmake/Qt6Network/Qt6QConnManNetworkInformationPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Network/Qt6QConnManNetworkInformationPluginConfig.cmake"
"/usr/lib/cmake/Qt6Network/Qt6QConnManNetworkInformationPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Network/Qt6QConnManNetworkInformationPluginTargets.cmake"
"/usr/lib/cmake/Qt6Network/Qt6QConnManNetworkInformationPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Network/Qt6QGlibNetworkInformationPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Network/Qt6QGlibNetworkInformationPluginConfig.cmake"
"/usr/lib/cmake/Qt6Network/Qt6QGlibNetworkInformationPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Network/Qt6QGlibNetworkInformationPluginTargets.cmake"
"/usr/lib/cmake/Qt6Network/Qt6QGlibNetworkInformationPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Network/Qt6QNetworkManagerNetworkInformationPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Network/Qt6QNetworkManagerNetworkInformationPluginConfig.cmake"
"/usr/lib/cmake/Qt6Network/Qt6QNetworkManagerNetworkInformationPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Network/Qt6QNetworkManagerNetworkInformationPluginTargets.cmake"
"/usr/lib/cmake/Qt6Network/Qt6QNetworkManagerNetworkInformationPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Network/Qt6QTlsBackendCertOnlyPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Network/Qt6QTlsBackendCertOnlyPluginConfig.cmake"
"/usr/lib/cmake/Qt6Network/Qt6QTlsBackendCertOnlyPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Network/Qt6QTlsBackendCertOnlyPluginTargets.cmake"
"/usr/lib/cmake/Qt6Network/Qt6QTlsBackendCertOnlyPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Network/Qt6QTlsBackendOpenSSLPluginAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Network/Qt6QTlsBackendOpenSSLPluginConfig.cmake"
"/usr/lib/cmake/Qt6Network/Qt6QTlsBackendOpenSSLPluginTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Network/Qt6QTlsBackendOpenSSLPluginTargets.cmake"
"/usr/lib/cmake/Qt6Network/Qt6QTlsBackendOpenSSLPluginTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsConfig.cmake"
"/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsConfigVersion.cmake"
"/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsConfigVersionImpl.cmake"
"/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsDependencies.cmake"
"/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsTargets.cmake"
"/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsVersionlessAliasTargets.cmake"
"/usr/lib/cmake/Qt6Widgets/Qt6WidgetsAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake"
"/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfigVersion.cmake"
"/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfigVersionImpl.cmake"
"/usr/lib/cmake/Qt6Widgets/Qt6WidgetsDependencies.cmake"
"/usr/lib/cmake/Qt6Widgets/Qt6WidgetsMacros.cmake"
"/usr/lib/cmake/Qt6Widgets/Qt6WidgetsPlugins.cmake"
"/usr/lib/cmake/Qt6Widgets/Qt6WidgetsTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6Widgets/Qt6WidgetsTargets.cmake"
"/usr/lib/cmake/Qt6Widgets/Qt6WidgetsTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6Widgets/Qt6WidgetsVersionlessAliasTargets.cmake"
"/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsAdditionalTargetInfo.cmake"
"/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsConfig.cmake"
"/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsConfigVersion.cmake"
"/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsConfigVersionImpl.cmake"
"/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsDependencies.cmake"
"/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsTargets-relwithdebinfo.cmake"
"/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsTargets.cmake"
"/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsTargetsPrecheck.cmake"
"/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsVersionlessTargets.cmake"
"/usr/share/cmake/Modules/CMakeCXXInformation.cmake"
"/usr/share/cmake/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake"
"/usr/share/cmake/Modules/CMakeCommonLanguageInclude.cmake"
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake"
"/usr/share/cmake/Modules/CMakeGenericSystem.cmake"
"/usr/share/cmake/Modules/CMakeInitializeConfigs.cmake"
"/usr/share/cmake/Modules/CMakeLanguageInformation.cmake"
"/usr/share/cmake/Modules/CMakeSystemSpecificInformation.cmake"
"/usr/share/cmake/Modules/CMakeSystemSpecificInitialize.cmake"
"/usr/share/cmake/Modules/CheckCXXCompilerFlag.cmake"
"/usr/share/cmake/Modules/CheckCXXSourceCompiles.cmake"
"/usr/share/cmake/Modules/CheckIncludeFileCXX.cmake"
"/usr/share/cmake/Modules/CheckLibraryExists.cmake"
"/usr/share/cmake/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
"/usr/share/cmake/Modules/Compiler/GNU-CXX.cmake"
"/usr/share/cmake/Modules/Compiler/GNU.cmake"
"/usr/share/cmake/Modules/FindOpenGL.cmake"
"/usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake"
"/usr/share/cmake/Modules/FindPackageMessage.cmake"
"/usr/share/cmake/Modules/FindThreads.cmake"
"/usr/share/cmake/Modules/FindVulkan.cmake"
"/usr/share/cmake/Modules/GNUInstallDirs.cmake"
"/usr/share/cmake/Modules/Internal/CMakeCXXLinkerInformation.cmake"
"/usr/share/cmake/Modules/Internal/CMakeCommonLinkerInformation.cmake"
"/usr/share/cmake/Modules/Internal/CheckCompilerFlag.cmake"
"/usr/share/cmake/Modules/Internal/CheckFlagCommonConfig.cmake"
"/usr/share/cmake/Modules/Internal/CheckSourceCompiles.cmake"
"/usr/share/cmake/Modules/Linker/GNU-CXX.cmake"
"/usr/share/cmake/Modules/Linker/GNU.cmake"
"/usr/share/cmake/Modules/MacroAddFileDependencies.cmake"
"/usr/share/cmake/Modules/Platform/Linker/GNU.cmake"
"/usr/share/cmake/Modules/Platform/Linker/Linux-GNU-CXX.cmake"
"/usr/share/cmake/Modules/Platform/Linker/Linux-GNU.cmake"
"/usr/share/cmake/Modules/Platform/Linux-GNU-CXX.cmake"
"/usr/share/cmake/Modules/Platform/Linux-GNU.cmake"
"/usr/share/cmake/Modules/Platform/Linux-Initialize.cmake"
"/usr/share/cmake/Modules/Platform/Linux.cmake"
"/usr/share/cmake/Modules/Platform/UnixPaths.cmake"
)
# The corresponding makefile is:
set(CMAKE_MAKEFILE_OUTPUTS
"Makefile"
"CMakeFiles/cmake.check_cache"
)
# Byproducts of CMake generate step:
set(CMAKE_MAKEFILE_PRODUCTS
"CMakeFiles/StreamHubQtClient_autogen.dir/AutogenInfo.json"
".qt/QtDeploySupport.cmake"
".qt/QtDeployTargets.cmake"
"CMakeFiles/CMakeDirectoryInformation.cmake"
)
# Dependency information for all targets:
set(CMAKE_DEPEND_INFO_FILES
"CMakeFiles/StreamHubQtClient.dir/DependInfo.cmake"
"CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/DependInfo.cmake"
"CMakeFiles/StreamHubQtClient_autogen.dir/DependInfo.cmake"
)
@@ -0,0 +1,189 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 4.3
# Default target executed when no arguments are given to make.
default_target: all
.PHONY : default_target
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Disable VCS-based implicit rules.
% : %,v
# Disable VCS-based implicit rules.
% : RCS/%
# Disable VCS-based implicit rules.
% : RCS/%,v
# Disable VCS-based implicit rules.
% : SCCS/s.%
# Disable VCS-based implicit rules.
% : s.%
.SUFFIXES: .hpux_make_needs_suffix_list
# Command-line flag to silence nested $(MAKE).
$(VERBOSE)MAKESILENT = -s
#Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /usr/bin/cmake
# The command to remove a file.
RM = /usr/bin/cmake -E rm -f
# Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build
#=============================================================================
# Directory level rules for the build root directory
# The main recursive "all" target.
all: CMakeFiles/StreamHubQtClient.dir/all
.PHONY : all
# The main recursive "codegen" target.
codegen: CMakeFiles/StreamHubQtClient.dir/codegen
.PHONY : codegen
# The main recursive "preinstall" target.
preinstall:
.PHONY : preinstall
# The main recursive "clean" target.
clean: CMakeFiles/StreamHubQtClient.dir/clean
clean: CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/clean
clean: CMakeFiles/StreamHubQtClient_autogen.dir/clean
.PHONY : clean
#=============================================================================
# Target rules for target CMakeFiles/StreamHubQtClient.dir
# All Build rule for target.
CMakeFiles/StreamHubQtClient.dir/all: CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/all
CMakeFiles/StreamHubQtClient.dir/all: CMakeFiles/StreamHubQtClient_autogen.dir/all
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/depend
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles --progress-num=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 "Built target StreamHubQtClient"
.PHONY : CMakeFiles/StreamHubQtClient.dir/all
# Build rule for subdir invocation for target.
CMakeFiles/StreamHubQtClient.dir/rule: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles 16
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/StreamHubQtClient.dir/all
$(CMAKE_COMMAND) -E cmake_progress_start /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles 0
.PHONY : CMakeFiles/StreamHubQtClient.dir/rule
# Convenience name for target.
StreamHubQtClient: CMakeFiles/StreamHubQtClient.dir/rule
.PHONY : StreamHubQtClient
# codegen rule for target.
CMakeFiles/StreamHubQtClient.dir/codegen: CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/all
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/codegen
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles --progress-num=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 "Finished codegen for target StreamHubQtClient"
.PHONY : CMakeFiles/StreamHubQtClient.dir/codegen
# clean rule for target.
CMakeFiles/StreamHubQtClient.dir/clean:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/clean
.PHONY : CMakeFiles/StreamHubQtClient.dir/clean
#=============================================================================
# Target rules for target CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir
# All Build rule for target.
CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/all:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/build.make CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/depend
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/build.make CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles --progress-num= "Built target StreamHubQtClient_autogen_timestamp_deps"
.PHONY : CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/all
# Build rule for subdir invocation for target.
CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/rule: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles 0
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/all
$(CMAKE_COMMAND) -E cmake_progress_start /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles 0
.PHONY : CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/rule
# Convenience name for target.
StreamHubQtClient_autogen_timestamp_deps: CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/rule
.PHONY : StreamHubQtClient_autogen_timestamp_deps
# codegen rule for target.
CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/codegen:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/build.make CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/codegen
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles --progress-num= "Finished codegen for target StreamHubQtClient_autogen_timestamp_deps"
.PHONY : CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/codegen
# clean rule for target.
CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/clean:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/build.make CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/clean
.PHONY : CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/clean
#=============================================================================
# Target rules for target CMakeFiles/StreamHubQtClient_autogen.dir
# All Build rule for target.
CMakeFiles/StreamHubQtClient_autogen.dir/all: CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/all
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient_autogen.dir/build.make CMakeFiles/StreamHubQtClient_autogen.dir/depend
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient_autogen.dir/build.make CMakeFiles/StreamHubQtClient_autogen.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles --progress-num=16 "Built target StreamHubQtClient_autogen"
.PHONY : CMakeFiles/StreamHubQtClient_autogen.dir/all
# Build rule for subdir invocation for target.
CMakeFiles/StreamHubQtClient_autogen.dir/rule: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles 1
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/StreamHubQtClient_autogen.dir/all
$(CMAKE_COMMAND) -E cmake_progress_start /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles 0
.PHONY : CMakeFiles/StreamHubQtClient_autogen.dir/rule
# Convenience name for target.
StreamHubQtClient_autogen: CMakeFiles/StreamHubQtClient_autogen.dir/rule
.PHONY : StreamHubQtClient_autogen
# codegen rule for target.
CMakeFiles/StreamHubQtClient_autogen.dir/codegen: CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/all
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient_autogen.dir/build.make CMakeFiles/StreamHubQtClient_autogen.dir/codegen
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles --progress-num=16 "Finished codegen for target StreamHubQtClient_autogen"
.PHONY : CMakeFiles/StreamHubQtClient_autogen.dir/codegen
# clean rule for target.
CMakeFiles/StreamHubQtClient_autogen.dir/clean:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient_autogen.dir/build.make CMakeFiles/StreamHubQtClient_autogen.dir/clean
.PHONY : CMakeFiles/StreamHubQtClient_autogen.dir/clean
#=============================================================================
# Special targets to cleanup operation of make.
# Special rule to run CMake to check the build system integrity.
# No rule that depends on this can have commands that come from listfiles
# because they might be regenerated.
cmake_check_build_system:
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
.PHONY : cmake_check_build_system
@@ -0,0 +1,37 @@
# Consider dependencies only in project.
set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
# The set of languages for which implicit dependencies are needed:
set(CMAKE_DEPENDS_LANGUAGES
)
# The set of dependency files which are needed:
set(CMAKE_DEPENDS_DEPENDENCY_FILES
"" "StreamHubQtClient_autogen/timestamp" "custom" "StreamHubQtClient_autogen/deps"
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/HistoryBar.cpp" "CMakeFiles/StreamHubQtClient.dir/HistoryBar.cpp.o" "gcc" "CMakeFiles/StreamHubQtClient.dir/HistoryBar.cpp.o.d"
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/Hub.cpp" "CMakeFiles/StreamHubQtClient.dir/Hub.cpp.o" "gcc" "CMakeFiles/StreamHubQtClient.dir/Hub.cpp.o.d"
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/MainWindow.cpp" "CMakeFiles/StreamHubQtClient.dir/MainWindow.cpp.o" "gcc" "CMakeFiles/StreamHubQtClient.dir/MainWindow.cpp.o.d"
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/PlotGrid.cpp" "CMakeFiles/StreamHubQtClient.dir/PlotGrid.cpp.o" "gcc" "CMakeFiles/StreamHubQtClient.dir/PlotGrid.cpp.o.d"
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/PlotWidget.cpp" "CMakeFiles/StreamHubQtClient.dir/PlotWidget.cpp.o" "gcc" "CMakeFiles/StreamHubQtClient.dir/PlotWidget.cpp.o.d"
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/SourceSidebar.cpp" "CMakeFiles/StreamHubQtClient.dir/SourceSidebar.cpp.o" "gcc" "CMakeFiles/StreamHubQtClient.dir/SourceSidebar.cpp.o.d"
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/StatsDialog.cpp" "CMakeFiles/StreamHubQtClient.dir/StatsDialog.cpp.o" "gcc" "CMakeFiles/StreamHubQtClient.dir/StatsDialog.cpp.o.d"
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/StreamHubQtClient_autogen/mocs_compilation.cpp" "CMakeFiles/StreamHubQtClient.dir/StreamHubQtClient_autogen/mocs_compilation.cpp.o" "gcc" "CMakeFiles/StreamHubQtClient.dir/StreamHubQtClient_autogen/mocs_compilation.cpp.o.d"
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/Theme.cpp" "CMakeFiles/StreamHubQtClient.dir/Theme.cpp.o" "gcc" "CMakeFiles/StreamHubQtClient.dir/Theme.cpp.o.d"
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/TriggerBar.cpp" "CMakeFiles/StreamHubQtClient.dir/TriggerBar.cpp.o" "gcc" "CMakeFiles/StreamHubQtClient.dir/TriggerBar.cpp.o.d"
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/WsClient.cpp" "CMakeFiles/StreamHubQtClient.dir/WsClient.cpp.o" "gcc" "CMakeFiles/StreamHubQtClient.dir/WsClient.cpp.o.d"
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp" "CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.o" "gcc" "CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.o.d"
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/main.cpp" "CMakeFiles/StreamHubQtClient.dir/main.cpp.o" "gcc" "CMakeFiles/StreamHubQtClient.dir/main.cpp.o.d"
"" "StreamHubQtClient" "gcc" "CMakeFiles/StreamHubQtClient.dir/link.d"
)
# Targets to which this target links which contain Fortran sources.
set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES
)
# Targets to which this target links which contain Fortran sources.
set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES
)
# Fortran module output directory.
set(CMAKE_Fortran_TARGET_MODULE_DIR "")
@@ -0,0 +1,319 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 4.3
# Delete rule output on recipe failure.
.DELETE_ON_ERROR:
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Disable VCS-based implicit rules.
% : %,v
# Disable VCS-based implicit rules.
% : RCS/%
# Disable VCS-based implicit rules.
% : RCS/%,v
# Disable VCS-based implicit rules.
% : SCCS/s.%
# Disable VCS-based implicit rules.
% : s.%
.SUFFIXES: .hpux_make_needs_suffix_list
# Command-line flag to silence nested $(MAKE).
$(VERBOSE)MAKESILENT = -s
#Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /usr/bin/cmake
# The command to remove a file.
RM = /usr/bin/cmake -E rm -f
# Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build
# Include any dependencies generated for this target.
include CMakeFiles/StreamHubQtClient.dir/depend.make
# Include any dependencies generated by the compiler for this target.
include CMakeFiles/StreamHubQtClient.dir/compiler_depend.make
# Include the progress variables for this target.
include CMakeFiles/StreamHubQtClient.dir/progress.make
# Include the compile flags for this target's objects.
include CMakeFiles/StreamHubQtClient.dir/flags.make
StreamHubQtClient_autogen/timestamp: /usr/lib/qt6/moc
StreamHubQtClient_autogen/timestamp: CMakeFiles/StreamHubQtClient.dir/compiler_depend.ts
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Automatic MOC for target StreamHubQtClient"
/usr/bin/cmake -E cmake_autogen /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/StreamHubQtClient_autogen.dir/AutogenInfo.json Release
/usr/bin/cmake -E touch /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/StreamHubQtClient_autogen/timestamp
CMakeFiles/StreamHubQtClient.dir/codegen:
.PHONY : CMakeFiles/StreamHubQtClient.dir/codegen
CMakeFiles/StreamHubQtClient.dir/StreamHubQtClient_autogen/mocs_compilation.cpp.o: CMakeFiles/StreamHubQtClient.dir/flags.make
CMakeFiles/StreamHubQtClient.dir/StreamHubQtClient_autogen/mocs_compilation.cpp.o: StreamHubQtClient_autogen/mocs_compilation.cpp
CMakeFiles/StreamHubQtClient.dir/StreamHubQtClient_autogen/mocs_compilation.cpp.o: CMakeFiles/StreamHubQtClient.dir/compiler_depend.ts
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object CMakeFiles/StreamHubQtClient.dir/StreamHubQtClient_autogen/mocs_compilation.cpp.o"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/StreamHubQtClient.dir/StreamHubQtClient_autogen/mocs_compilation.cpp.o -MF CMakeFiles/StreamHubQtClient.dir/StreamHubQtClient_autogen/mocs_compilation.cpp.o.d -o CMakeFiles/StreamHubQtClient.dir/StreamHubQtClient_autogen/mocs_compilation.cpp.o -c /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/StreamHubQtClient_autogen/mocs_compilation.cpp
CMakeFiles/StreamHubQtClient.dir/StreamHubQtClient_autogen/mocs_compilation.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/StreamHubQtClient.dir/StreamHubQtClient_autogen/mocs_compilation.cpp.i"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/StreamHubQtClient_autogen/mocs_compilation.cpp > CMakeFiles/StreamHubQtClient.dir/StreamHubQtClient_autogen/mocs_compilation.cpp.i
CMakeFiles/StreamHubQtClient.dir/StreamHubQtClient_autogen/mocs_compilation.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/StreamHubQtClient.dir/StreamHubQtClient_autogen/mocs_compilation.cpp.s"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/StreamHubQtClient_autogen/mocs_compilation.cpp -o CMakeFiles/StreamHubQtClient.dir/StreamHubQtClient_autogen/mocs_compilation.cpp.s
CMakeFiles/StreamHubQtClient.dir/main.cpp.o: CMakeFiles/StreamHubQtClient.dir/flags.make
CMakeFiles/StreamHubQtClient.dir/main.cpp.o: /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/main.cpp
CMakeFiles/StreamHubQtClient.dir/main.cpp.o: CMakeFiles/StreamHubQtClient.dir/compiler_depend.ts
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object CMakeFiles/StreamHubQtClient.dir/main.cpp.o"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/StreamHubQtClient.dir/main.cpp.o -MF CMakeFiles/StreamHubQtClient.dir/main.cpp.o.d -o CMakeFiles/StreamHubQtClient.dir/main.cpp.o -c /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/main.cpp
CMakeFiles/StreamHubQtClient.dir/main.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/StreamHubQtClient.dir/main.cpp.i"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/main.cpp > CMakeFiles/StreamHubQtClient.dir/main.cpp.i
CMakeFiles/StreamHubQtClient.dir/main.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/StreamHubQtClient.dir/main.cpp.s"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/main.cpp -o CMakeFiles/StreamHubQtClient.dir/main.cpp.s
CMakeFiles/StreamHubQtClient.dir/Theme.cpp.o: CMakeFiles/StreamHubQtClient.dir/flags.make
CMakeFiles/StreamHubQtClient.dir/Theme.cpp.o: /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/Theme.cpp
CMakeFiles/StreamHubQtClient.dir/Theme.cpp.o: CMakeFiles/StreamHubQtClient.dir/compiler_depend.ts
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object CMakeFiles/StreamHubQtClient.dir/Theme.cpp.o"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/StreamHubQtClient.dir/Theme.cpp.o -MF CMakeFiles/StreamHubQtClient.dir/Theme.cpp.o.d -o CMakeFiles/StreamHubQtClient.dir/Theme.cpp.o -c /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/Theme.cpp
CMakeFiles/StreamHubQtClient.dir/Theme.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/StreamHubQtClient.dir/Theme.cpp.i"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/Theme.cpp > CMakeFiles/StreamHubQtClient.dir/Theme.cpp.i
CMakeFiles/StreamHubQtClient.dir/Theme.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/StreamHubQtClient.dir/Theme.cpp.s"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/Theme.cpp -o CMakeFiles/StreamHubQtClient.dir/Theme.cpp.s
CMakeFiles/StreamHubQtClient.dir/Hub.cpp.o: CMakeFiles/StreamHubQtClient.dir/flags.make
CMakeFiles/StreamHubQtClient.dir/Hub.cpp.o: /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/Hub.cpp
CMakeFiles/StreamHubQtClient.dir/Hub.cpp.o: CMakeFiles/StreamHubQtClient.dir/compiler_depend.ts
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building CXX object CMakeFiles/StreamHubQtClient.dir/Hub.cpp.o"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/StreamHubQtClient.dir/Hub.cpp.o -MF CMakeFiles/StreamHubQtClient.dir/Hub.cpp.o.d -o CMakeFiles/StreamHubQtClient.dir/Hub.cpp.o -c /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/Hub.cpp
CMakeFiles/StreamHubQtClient.dir/Hub.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/StreamHubQtClient.dir/Hub.cpp.i"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/Hub.cpp > CMakeFiles/StreamHubQtClient.dir/Hub.cpp.i
CMakeFiles/StreamHubQtClient.dir/Hub.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/StreamHubQtClient.dir/Hub.cpp.s"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/Hub.cpp -o CMakeFiles/StreamHubQtClient.dir/Hub.cpp.s
CMakeFiles/StreamHubQtClient.dir/WsClient.cpp.o: CMakeFiles/StreamHubQtClient.dir/flags.make
CMakeFiles/StreamHubQtClient.dir/WsClient.cpp.o: /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/WsClient.cpp
CMakeFiles/StreamHubQtClient.dir/WsClient.cpp.o: CMakeFiles/StreamHubQtClient.dir/compiler_depend.ts
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Building CXX object CMakeFiles/StreamHubQtClient.dir/WsClient.cpp.o"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/StreamHubQtClient.dir/WsClient.cpp.o -MF CMakeFiles/StreamHubQtClient.dir/WsClient.cpp.o.d -o CMakeFiles/StreamHubQtClient.dir/WsClient.cpp.o -c /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/WsClient.cpp
CMakeFiles/StreamHubQtClient.dir/WsClient.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/StreamHubQtClient.dir/WsClient.cpp.i"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/WsClient.cpp > CMakeFiles/StreamHubQtClient.dir/WsClient.cpp.i
CMakeFiles/StreamHubQtClient.dir/WsClient.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/StreamHubQtClient.dir/WsClient.cpp.s"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/WsClient.cpp -o CMakeFiles/StreamHubQtClient.dir/WsClient.cpp.s
CMakeFiles/StreamHubQtClient.dir/PlotWidget.cpp.o: CMakeFiles/StreamHubQtClient.dir/flags.make
CMakeFiles/StreamHubQtClient.dir/PlotWidget.cpp.o: /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/PlotWidget.cpp
CMakeFiles/StreamHubQtClient.dir/PlotWidget.cpp.o: CMakeFiles/StreamHubQtClient.dir/compiler_depend.ts
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Building CXX object CMakeFiles/StreamHubQtClient.dir/PlotWidget.cpp.o"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/StreamHubQtClient.dir/PlotWidget.cpp.o -MF CMakeFiles/StreamHubQtClient.dir/PlotWidget.cpp.o.d -o CMakeFiles/StreamHubQtClient.dir/PlotWidget.cpp.o -c /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/PlotWidget.cpp
CMakeFiles/StreamHubQtClient.dir/PlotWidget.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/StreamHubQtClient.dir/PlotWidget.cpp.i"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/PlotWidget.cpp > CMakeFiles/StreamHubQtClient.dir/PlotWidget.cpp.i
CMakeFiles/StreamHubQtClient.dir/PlotWidget.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/StreamHubQtClient.dir/PlotWidget.cpp.s"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/PlotWidget.cpp -o CMakeFiles/StreamHubQtClient.dir/PlotWidget.cpp.s
CMakeFiles/StreamHubQtClient.dir/PlotGrid.cpp.o: CMakeFiles/StreamHubQtClient.dir/flags.make
CMakeFiles/StreamHubQtClient.dir/PlotGrid.cpp.o: /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/PlotGrid.cpp
CMakeFiles/StreamHubQtClient.dir/PlotGrid.cpp.o: CMakeFiles/StreamHubQtClient.dir/compiler_depend.ts
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Building CXX object CMakeFiles/StreamHubQtClient.dir/PlotGrid.cpp.o"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/StreamHubQtClient.dir/PlotGrid.cpp.o -MF CMakeFiles/StreamHubQtClient.dir/PlotGrid.cpp.o.d -o CMakeFiles/StreamHubQtClient.dir/PlotGrid.cpp.o -c /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/PlotGrid.cpp
CMakeFiles/StreamHubQtClient.dir/PlotGrid.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/StreamHubQtClient.dir/PlotGrid.cpp.i"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/PlotGrid.cpp > CMakeFiles/StreamHubQtClient.dir/PlotGrid.cpp.i
CMakeFiles/StreamHubQtClient.dir/PlotGrid.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/StreamHubQtClient.dir/PlotGrid.cpp.s"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/PlotGrid.cpp -o CMakeFiles/StreamHubQtClient.dir/PlotGrid.cpp.s
CMakeFiles/StreamHubQtClient.dir/SourceSidebar.cpp.o: CMakeFiles/StreamHubQtClient.dir/flags.make
CMakeFiles/StreamHubQtClient.dir/SourceSidebar.cpp.o: /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/SourceSidebar.cpp
CMakeFiles/StreamHubQtClient.dir/SourceSidebar.cpp.o: CMakeFiles/StreamHubQtClient.dir/compiler_depend.ts
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Building CXX object CMakeFiles/StreamHubQtClient.dir/SourceSidebar.cpp.o"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/StreamHubQtClient.dir/SourceSidebar.cpp.o -MF CMakeFiles/StreamHubQtClient.dir/SourceSidebar.cpp.o.d -o CMakeFiles/StreamHubQtClient.dir/SourceSidebar.cpp.o -c /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/SourceSidebar.cpp
CMakeFiles/StreamHubQtClient.dir/SourceSidebar.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/StreamHubQtClient.dir/SourceSidebar.cpp.i"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/SourceSidebar.cpp > CMakeFiles/StreamHubQtClient.dir/SourceSidebar.cpp.i
CMakeFiles/StreamHubQtClient.dir/SourceSidebar.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/StreamHubQtClient.dir/SourceSidebar.cpp.s"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/SourceSidebar.cpp -o CMakeFiles/StreamHubQtClient.dir/SourceSidebar.cpp.s
CMakeFiles/StreamHubQtClient.dir/TriggerBar.cpp.o: CMakeFiles/StreamHubQtClient.dir/flags.make
CMakeFiles/StreamHubQtClient.dir/TriggerBar.cpp.o: /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/TriggerBar.cpp
CMakeFiles/StreamHubQtClient.dir/TriggerBar.cpp.o: CMakeFiles/StreamHubQtClient.dir/compiler_depend.ts
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_10) "Building CXX object CMakeFiles/StreamHubQtClient.dir/TriggerBar.cpp.o"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/StreamHubQtClient.dir/TriggerBar.cpp.o -MF CMakeFiles/StreamHubQtClient.dir/TriggerBar.cpp.o.d -o CMakeFiles/StreamHubQtClient.dir/TriggerBar.cpp.o -c /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/TriggerBar.cpp
CMakeFiles/StreamHubQtClient.dir/TriggerBar.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/StreamHubQtClient.dir/TriggerBar.cpp.i"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/TriggerBar.cpp > CMakeFiles/StreamHubQtClient.dir/TriggerBar.cpp.i
CMakeFiles/StreamHubQtClient.dir/TriggerBar.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/StreamHubQtClient.dir/TriggerBar.cpp.s"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/TriggerBar.cpp -o CMakeFiles/StreamHubQtClient.dir/TriggerBar.cpp.s
CMakeFiles/StreamHubQtClient.dir/StatsDialog.cpp.o: CMakeFiles/StreamHubQtClient.dir/flags.make
CMakeFiles/StreamHubQtClient.dir/StatsDialog.cpp.o: /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/StatsDialog.cpp
CMakeFiles/StreamHubQtClient.dir/StatsDialog.cpp.o: CMakeFiles/StreamHubQtClient.dir/compiler_depend.ts
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_11) "Building CXX object CMakeFiles/StreamHubQtClient.dir/StatsDialog.cpp.o"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/StreamHubQtClient.dir/StatsDialog.cpp.o -MF CMakeFiles/StreamHubQtClient.dir/StatsDialog.cpp.o.d -o CMakeFiles/StreamHubQtClient.dir/StatsDialog.cpp.o -c /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/StatsDialog.cpp
CMakeFiles/StreamHubQtClient.dir/StatsDialog.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/StreamHubQtClient.dir/StatsDialog.cpp.i"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/StatsDialog.cpp > CMakeFiles/StreamHubQtClient.dir/StatsDialog.cpp.i
CMakeFiles/StreamHubQtClient.dir/StatsDialog.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/StreamHubQtClient.dir/StatsDialog.cpp.s"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/StatsDialog.cpp -o CMakeFiles/StreamHubQtClient.dir/StatsDialog.cpp.s
CMakeFiles/StreamHubQtClient.dir/HistoryBar.cpp.o: CMakeFiles/StreamHubQtClient.dir/flags.make
CMakeFiles/StreamHubQtClient.dir/HistoryBar.cpp.o: /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/HistoryBar.cpp
CMakeFiles/StreamHubQtClient.dir/HistoryBar.cpp.o: CMakeFiles/StreamHubQtClient.dir/compiler_depend.ts
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_12) "Building CXX object CMakeFiles/StreamHubQtClient.dir/HistoryBar.cpp.o"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/StreamHubQtClient.dir/HistoryBar.cpp.o -MF CMakeFiles/StreamHubQtClient.dir/HistoryBar.cpp.o.d -o CMakeFiles/StreamHubQtClient.dir/HistoryBar.cpp.o -c /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/HistoryBar.cpp
CMakeFiles/StreamHubQtClient.dir/HistoryBar.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/StreamHubQtClient.dir/HistoryBar.cpp.i"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/HistoryBar.cpp > CMakeFiles/StreamHubQtClient.dir/HistoryBar.cpp.i
CMakeFiles/StreamHubQtClient.dir/HistoryBar.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/StreamHubQtClient.dir/HistoryBar.cpp.s"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/HistoryBar.cpp -o CMakeFiles/StreamHubQtClient.dir/HistoryBar.cpp.s
CMakeFiles/StreamHubQtClient.dir/MainWindow.cpp.o: CMakeFiles/StreamHubQtClient.dir/flags.make
CMakeFiles/StreamHubQtClient.dir/MainWindow.cpp.o: /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/MainWindow.cpp
CMakeFiles/StreamHubQtClient.dir/MainWindow.cpp.o: CMakeFiles/StreamHubQtClient.dir/compiler_depend.ts
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_13) "Building CXX object CMakeFiles/StreamHubQtClient.dir/MainWindow.cpp.o"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/StreamHubQtClient.dir/MainWindow.cpp.o -MF CMakeFiles/StreamHubQtClient.dir/MainWindow.cpp.o.d -o CMakeFiles/StreamHubQtClient.dir/MainWindow.cpp.o -c /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/MainWindow.cpp
CMakeFiles/StreamHubQtClient.dir/MainWindow.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/StreamHubQtClient.dir/MainWindow.cpp.i"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/MainWindow.cpp > CMakeFiles/StreamHubQtClient.dir/MainWindow.cpp.i
CMakeFiles/StreamHubQtClient.dir/MainWindow.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/StreamHubQtClient.dir/MainWindow.cpp.s"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/MainWindow.cpp -o CMakeFiles/StreamHubQtClient.dir/MainWindow.cpp.s
CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.o: CMakeFiles/StreamHubQtClient.dir/flags.make
CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.o: /home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp
CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.o: CMakeFiles/StreamHubQtClient.dir/compiler_depend.ts
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_14) "Building CXX object CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.o"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.o -MF CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.o.d -o CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.o -c /home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp
CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.i"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp > CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.i
CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.s"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp -o CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.s
# Object files for target StreamHubQtClient
StreamHubQtClient_OBJECTS = \
"CMakeFiles/StreamHubQtClient.dir/StreamHubQtClient_autogen/mocs_compilation.cpp.o" \
"CMakeFiles/StreamHubQtClient.dir/main.cpp.o" \
"CMakeFiles/StreamHubQtClient.dir/Theme.cpp.o" \
"CMakeFiles/StreamHubQtClient.dir/Hub.cpp.o" \
"CMakeFiles/StreamHubQtClient.dir/WsClient.cpp.o" \
"CMakeFiles/StreamHubQtClient.dir/PlotWidget.cpp.o" \
"CMakeFiles/StreamHubQtClient.dir/PlotGrid.cpp.o" \
"CMakeFiles/StreamHubQtClient.dir/SourceSidebar.cpp.o" \
"CMakeFiles/StreamHubQtClient.dir/TriggerBar.cpp.o" \
"CMakeFiles/StreamHubQtClient.dir/StatsDialog.cpp.o" \
"CMakeFiles/StreamHubQtClient.dir/HistoryBar.cpp.o" \
"CMakeFiles/StreamHubQtClient.dir/MainWindow.cpp.o" \
"CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.o"
# External object files for target StreamHubQtClient
StreamHubQtClient_EXTERNAL_OBJECTS =
StreamHubQtClient: CMakeFiles/StreamHubQtClient.dir/StreamHubQtClient_autogen/mocs_compilation.cpp.o
StreamHubQtClient: CMakeFiles/StreamHubQtClient.dir/main.cpp.o
StreamHubQtClient: CMakeFiles/StreamHubQtClient.dir/Theme.cpp.o
StreamHubQtClient: CMakeFiles/StreamHubQtClient.dir/Hub.cpp.o
StreamHubQtClient: CMakeFiles/StreamHubQtClient.dir/WsClient.cpp.o
StreamHubQtClient: CMakeFiles/StreamHubQtClient.dir/PlotWidget.cpp.o
StreamHubQtClient: CMakeFiles/StreamHubQtClient.dir/PlotGrid.cpp.o
StreamHubQtClient: CMakeFiles/StreamHubQtClient.dir/SourceSidebar.cpp.o
StreamHubQtClient: CMakeFiles/StreamHubQtClient.dir/TriggerBar.cpp.o
StreamHubQtClient: CMakeFiles/StreamHubQtClient.dir/StatsDialog.cpp.o
StreamHubQtClient: CMakeFiles/StreamHubQtClient.dir/HistoryBar.cpp.o
StreamHubQtClient: CMakeFiles/StreamHubQtClient.dir/MainWindow.cpp.o
StreamHubQtClient: CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.o
StreamHubQtClient: CMakeFiles/StreamHubQtClient.dir/build.make
StreamHubQtClient: CMakeFiles/StreamHubQtClient.dir/compiler_depend.ts
StreamHubQtClient: /usr/lib/libQt6Widgets.so.6.11.1
StreamHubQtClient: /usr/lib/libQt6WebSockets.so.6.11.1
StreamHubQtClient: /usr/lib/libQt6Gui.so.6.11.1
StreamHubQtClient: /usr/lib/libGLX.so
StreamHubQtClient: /usr/lib/libOpenGL.so
StreamHubQtClient: /usr/lib/libQt6Network.so.6.11.1
StreamHubQtClient: /usr/lib/libQt6Core.so.6.11.1
StreamHubQtClient: CMakeFiles/StreamHubQtClient.dir/link.txt
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_15) "Linking CXX executable StreamHubQtClient"
$(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/StreamHubQtClient.dir/link.txt --verbose=$(VERBOSE)
# Rule to build all files generated by this target.
CMakeFiles/StreamHubQtClient.dir/build: StreamHubQtClient
.PHONY : CMakeFiles/StreamHubQtClient.dir/build
CMakeFiles/StreamHubQtClient.dir/clean:
$(CMAKE_COMMAND) -P CMakeFiles/StreamHubQtClient.dir/cmake_clean.cmake
.PHONY : CMakeFiles/StreamHubQtClient.dir/clean
CMakeFiles/StreamHubQtClient.dir/depend: StreamHubQtClient_autogen/timestamp
cd /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/StreamHubQtClient.dir/DependInfo.cmake "--color=$(COLOR)" StreamHubQtClient
.PHONY : CMakeFiles/StreamHubQtClient.dir/depend
@@ -0,0 +1,41 @@
file(REMOVE_RECURSE
"CMakeFiles/StreamHubQtClient.dir/link.d"
"CMakeFiles/StreamHubQtClient_autogen.dir/AutogenUsed.txt"
"CMakeFiles/StreamHubQtClient_autogen.dir/ParseCache.txt"
"StreamHubQtClient_autogen"
"CMakeFiles/StreamHubQtClient.dir/HistoryBar.cpp.o"
"CMakeFiles/StreamHubQtClient.dir/HistoryBar.cpp.o.d"
"CMakeFiles/StreamHubQtClient.dir/Hub.cpp.o"
"CMakeFiles/StreamHubQtClient.dir/Hub.cpp.o.d"
"CMakeFiles/StreamHubQtClient.dir/MainWindow.cpp.o"
"CMakeFiles/StreamHubQtClient.dir/MainWindow.cpp.o.d"
"CMakeFiles/StreamHubQtClient.dir/PlotGrid.cpp.o"
"CMakeFiles/StreamHubQtClient.dir/PlotGrid.cpp.o.d"
"CMakeFiles/StreamHubQtClient.dir/PlotWidget.cpp.o"
"CMakeFiles/StreamHubQtClient.dir/PlotWidget.cpp.o.d"
"CMakeFiles/StreamHubQtClient.dir/SourceSidebar.cpp.o"
"CMakeFiles/StreamHubQtClient.dir/SourceSidebar.cpp.o.d"
"CMakeFiles/StreamHubQtClient.dir/StatsDialog.cpp.o"
"CMakeFiles/StreamHubQtClient.dir/StatsDialog.cpp.o.d"
"CMakeFiles/StreamHubQtClient.dir/StreamHubQtClient_autogen/mocs_compilation.cpp.o"
"CMakeFiles/StreamHubQtClient.dir/StreamHubQtClient_autogen/mocs_compilation.cpp.o.d"
"CMakeFiles/StreamHubQtClient.dir/Theme.cpp.o"
"CMakeFiles/StreamHubQtClient.dir/Theme.cpp.o.d"
"CMakeFiles/StreamHubQtClient.dir/TriggerBar.cpp.o"
"CMakeFiles/StreamHubQtClient.dir/TriggerBar.cpp.o.d"
"CMakeFiles/StreamHubQtClient.dir/WsClient.cpp.o"
"CMakeFiles/StreamHubQtClient.dir/WsClient.cpp.o.d"
"CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.o"
"CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.o.d"
"CMakeFiles/StreamHubQtClient.dir/main.cpp.o"
"CMakeFiles/StreamHubQtClient.dir/main.cpp.o.d"
"StreamHubQtClient"
"StreamHubQtClient.pdb"
"StreamHubQtClient_autogen/mocs_compilation.cpp"
"StreamHubQtClient_autogen/timestamp"
)
# Per-language clean rules from dependency scanning.
foreach(lang CXX)
include(CMakeFiles/StreamHubQtClient.dir/cmake_clean_${lang}.cmake OPTIONAL)
endforeach()
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,2 @@
# CMAKE generated file: DO NOT EDIT!
# Timestamp file for compiler generated dependencies management for StreamHubQtClient.
@@ -0,0 +1,2 @@
# Empty dependencies file for StreamHubQtClient.
# This may be replaced when dependencies are built.
@@ -0,0 +1,10 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 4.3
# compile CXX with /usr/bin/c++
CXX_DEFINES = -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_NO_KEYWORDS -DQT_WEBSOCKETS_LIB -DQT_WIDGETS_LIB
CXX_INCLUDES = -I/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/StreamHubQtClient_autogen/include -I/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt -I/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/../streamhub -isystem /usr/include/qt6/QtWidgets -isystem /usr/include/qt6 -isystem /usr/include/qt6/QtCore -isystem /usr/lib/qt6/mkspecs/linux-g++ -isystem /usr/include/qt6/QtGui -isystem /usr/include/qt6/QtWebSockets -isystem /usr/include/qt6/QtNetwork
CXX_FLAGS = -O3 -DNDEBUG -std=gnu++17 -Wall -Wextra -Wno-unused-parameter -mno-direct-extern-access
@@ -0,0 +1 @@
/usr/bin/c++ -O3 -DNDEBUG -Wl,--dependency-file=CMakeFiles/StreamHubQtClient.dir/link.d CMakeFiles/StreamHubQtClient.dir/StreamHubQtClient_autogen/mocs_compilation.cpp.o CMakeFiles/StreamHubQtClient.dir/main.cpp.o CMakeFiles/StreamHubQtClient.dir/Theme.cpp.o CMakeFiles/StreamHubQtClient.dir/Hub.cpp.o CMakeFiles/StreamHubQtClient.dir/WsClient.cpp.o CMakeFiles/StreamHubQtClient.dir/PlotWidget.cpp.o CMakeFiles/StreamHubQtClient.dir/PlotGrid.cpp.o CMakeFiles/StreamHubQtClient.dir/SourceSidebar.cpp.o CMakeFiles/StreamHubQtClient.dir/TriggerBar.cpp.o CMakeFiles/StreamHubQtClient.dir/StatsDialog.cpp.o CMakeFiles/StreamHubQtClient.dir/HistoryBar.cpp.o CMakeFiles/StreamHubQtClient.dir/MainWindow.cpp.o CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.o -o StreamHubQtClient /usr/lib/libQt6Widgets.so.6.11.1 /usr/lib/libQt6WebSockets.so.6.11.1 /usr/lib/libQt6Gui.so.6.11.1 /usr/lib/libGLX.so /usr/lib/libOpenGL.so /usr/lib/libQt6Network.so.6.11.1 /usr/lib/libQt6Core.so.6.11.1
@@ -0,0 +1,16 @@
CMAKE_PROGRESS_1 = 1
CMAKE_PROGRESS_2 = 2
CMAKE_PROGRESS_3 = 3
CMAKE_PROGRESS_4 = 4
CMAKE_PROGRESS_5 = 5
CMAKE_PROGRESS_6 = 6
CMAKE_PROGRESS_7 = 7
CMAKE_PROGRESS_8 = 8
CMAKE_PROGRESS_9 = 9
CMAKE_PROGRESS_10 = 10
CMAKE_PROGRESS_11 = 11
CMAKE_PROGRESS_12 = 12
CMAKE_PROGRESS_13 = 13
CMAKE_PROGRESS_14 = 14
CMAKE_PROGRESS_15 = 15
@@ -0,0 +1,851 @@
{
"BUILD_DIR" : "/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/StreamHubQtClient_autogen",
"CMAKE_BINARY_DIR" : "/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build",
"CMAKE_CURRENT_BINARY_DIR" : "/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build",
"CMAKE_CURRENT_SOURCE_DIR" : "/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt",
"CMAKE_EXECUTABLE" : "/usr/bin/cmake",
"CMAKE_LIST_FILES" :
[
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/CMakeLists.txt",
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/4.3.4/CMakeSystem.cmake",
"/usr/share/cmake/Modules/CMakeSystemSpecificInitialize.cmake",
"/usr/share/cmake/Modules/Platform/Linux-Initialize.cmake",
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/4.3.4/CMakeCXXCompiler.cmake",
"/usr/share/cmake/Modules/CMakeSystemSpecificInformation.cmake",
"/usr/share/cmake/Modules/CMakeGenericSystem.cmake",
"/usr/share/cmake/Modules/CMakeInitializeConfigs.cmake",
"/usr/share/cmake/Modules/Platform/Linux.cmake",
"/usr/share/cmake/Modules/Platform/UnixPaths.cmake",
"/usr/share/cmake/Modules/CMakeCXXInformation.cmake",
"/usr/share/cmake/Modules/CMakeLanguageInformation.cmake",
"/usr/share/cmake/Modules/Compiler/GNU-CXX.cmake",
"/usr/share/cmake/Modules/Compiler/GNU.cmake",
"/usr/share/cmake/Modules/Compiler/CMakeCommonCompilerMacros.cmake",
"/usr/share/cmake/Modules/Platform/Linux-GNU-CXX.cmake",
"/usr/share/cmake/Modules/Platform/Linux-GNU.cmake",
"/usr/share/cmake/Modules/CMakeCommonLanguageInclude.cmake",
"/usr/share/cmake/Modules/Internal/CMakeCXXLinkerInformation.cmake",
"/usr/share/cmake/Modules/Internal/CMakeCommonLinkerInformation.cmake",
"/usr/share/cmake/Modules/Linker/GNU-CXX.cmake",
"/usr/share/cmake/Modules/Linker/GNU.cmake",
"/usr/share/cmake/Modules/Platform/Linker/Linux-GNU-CXX.cmake",
"/usr/share/cmake/Modules/Platform/Linker/Linux-GNU.cmake",
"/usr/share/cmake/Modules/Platform/Linker/GNU.cmake",
"/usr/lib/cmake/Qt6/Qt6ConfigVersion.cmake",
"/usr/lib/cmake/Qt6/Qt6ConfigVersionImpl.cmake",
"/usr/lib/cmake/Qt6/Qt6Config.cmake",
"/usr/lib/cmake/Qt6/QtPublicCMakeEarlyPolicyHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicCMakeHelpers.cmake",
"/usr/lib/cmake/Qt6/Qt6ConfigExtras.cmake",
"/usr/lib/cmake/Qt6/QtPublicCMakeVersionHelpers.cmake",
"/usr/lib/cmake/Qt6/QtInstallPaths.cmake",
"/usr/lib/cmake/Qt6/Qt6TargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6/Qt6Targets.cmake",
"/usr/lib/cmake/Qt6/Qt6VersionlessAliasTargets.cmake",
"/usr/lib/cmake/Qt6/QtFeature.cmake",
"/usr/share/cmake/Modules/CheckCXXCompilerFlag.cmake",
"/usr/share/cmake/Modules/Internal/CheckCompilerFlag.cmake",
"/usr/share/cmake/Modules/Internal/CheckFlagCommonConfig.cmake",
"/usr/share/cmake/Modules/Internal/CheckSourceCompiles.cmake",
"/usr/share/cmake/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake",
"/usr/share/cmake/Modules/CheckCXXSourceCompiles.cmake",
"/usr/share/cmake/Modules/Internal/CheckSourceCompiles.cmake",
"/usr/lib/cmake/Qt6/QtFeatureCommon.cmake",
"/usr/lib/cmake/Qt6/QtPublicAndroidHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicAppleHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicCMakeHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicCMakeVersionHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicExternalProjectHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicFinalizerHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicFindPackageHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicGitHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicPluginHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicPluginHelpers_v2.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomAttributionHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomBuildToolHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomCommonGenerationHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomCpeHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomCycloneDXHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomDocumentNamespaceHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomDepHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomExternalReferenceHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomFileHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomGenerationHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomGenerationCycloneDXHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomLicenseHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomOpsHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomPurlHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomPythonHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomQtEntityHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomRelationshipHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomSystemDepHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicTargetHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicTestHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicToolHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicWalkLibsHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicWindowsHelpers.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6/Qt6Dependencies.cmake",
"/usr/share/cmake/Modules/FindThreads.cmake",
"/usr/share/cmake/Modules/CheckLibraryExists.cmake",
"/usr/share/cmake/Modules/CheckIncludeFileCXX.cmake",
"/usr/share/cmake/Modules/CheckCXXSourceCompiles.cmake",
"/usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake",
"/usr/share/cmake/Modules/FindPackageMessage.cmake",
"/usr/lib/cmake/Qt6/Qt6ConfigVersion.cmake",
"/usr/lib/cmake/Qt6/Qt6ConfigVersionImpl.cmake",
"/usr/lib/cmake/Qt6/Qt6Config.cmake",
"/usr/lib/cmake/Qt6/QtPublicCMakeEarlyPolicyHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicCMakeHelpers.cmake",
"/usr/lib/cmake/Qt6/Qt6ConfigExtras.cmake",
"/usr/lib/cmake/Qt6/QtPublicCMakeVersionHelpers.cmake",
"/usr/lib/cmake/Qt6/QtInstallPaths.cmake",
"/usr/lib/cmake/Qt6/Qt6TargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6/QtFeature.cmake",
"/usr/share/cmake/Modules/CheckCXXCompilerFlag.cmake",
"/usr/lib/cmake/Qt6/QtFeatureCommon.cmake",
"/usr/lib/cmake/Qt6/QtPublicAndroidHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicAppleHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicCMakeHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicCMakeVersionHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicExternalProjectHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicFinalizerHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicFindPackageHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicGitHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicPluginHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicPluginHelpers_v2.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomAttributionHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomBuildToolHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomCommonGenerationHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomCpeHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomCycloneDXHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomDocumentNamespaceHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomDepHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomExternalReferenceHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomFileHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomGenerationHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomGenerationCycloneDXHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomLicenseHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomOpsHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomPurlHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomPythonHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomQtEntityHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomRelationshipHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicSbomSystemDepHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicTargetHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicTestHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicToolHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicWalkLibsHelpers.cmake",
"/usr/lib/cmake/Qt6/QtPublicWindowsHelpers.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6/Qt6Dependencies.cmake",
"/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfigVersion.cmake",
"/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfigVersionImpl.cmake",
"/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Widgets/Qt6WidgetsDependencies.cmake",
"/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsConfigVersion.cmake",
"/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsConfigVersionImpl.cmake",
"/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsDependencies.cmake",
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfigVersion.cmake",
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfigVersionImpl.cmake",
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsDependencies.cmake",
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsTargets.cmake",
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsVersionlessTargets.cmake",
"/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsConfigVersion.cmake",
"/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsConfigVersionImpl.cmake",
"/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsDependencies.cmake",
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfigVersion.cmake",
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfigVersionImpl.cmake",
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsDependencies.cmake",
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsTargets.cmake",
"/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsVersionlessTargets.cmake",
"/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsTargets.cmake",
"/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsVersionlessTargets.cmake",
"/usr/lib/cmake/Qt6Core/Qt6CoreConfigVersion.cmake",
"/usr/lib/cmake/Qt6Core/Qt6CoreConfigVersionImpl.cmake",
"/usr/lib/cmake/Qt6Core/Qt6CoreConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Core/Qt6CoreDependencies.cmake",
"/usr/lib/cmake/Qt6/FindWrapAtomic.cmake",
"/usr/share/cmake/Modules/CheckCXXSourceCompiles.cmake",
"/usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake",
"/usr/share/cmake/Modules/FindPackageMessage.cmake",
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfigVersion.cmake",
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfigVersionImpl.cmake",
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsDependencies.cmake",
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Core/Qt6CoreTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Core/Qt6CoreTargets.cmake",
"/usr/lib/cmake/Qt6Core/Qt6CoreTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Core/Qt6CoreAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Core/Qt6CoreMacros.cmake",
"/usr/lib/cmake/Qt6Core/Qt6CoreConfigExtras.cmake",
"/usr/share/cmake/Modules/GNUInstallDirs.cmake",
"/usr/lib/cmake/Qt6Core/Qt6CoreVersionlessAliasTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6GuiConfigVersion.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6GuiConfigVersionImpl.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6GuiConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6GuiDependencies.cmake",
"/usr/lib/cmake/Qt6/FindWrapOpenGL.cmake",
"/usr/share/cmake/Modules/FindOpenGL.cmake",
"/usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake",
"/usr/share/cmake/Modules/FindPackageMessage.cmake",
"/usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake",
"/usr/share/cmake/Modules/FindPackageMessage.cmake",
"/usr/lib/cmake/Qt6/FindWrapVulkanHeaders.cmake",
"/usr/share/cmake/Modules/FindVulkan.cmake",
"/usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake",
"/usr/share/cmake/Modules/FindPackageMessage.cmake",
"/usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake",
"/usr/share/cmake/Modules/FindPackageMessage.cmake",
"/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsConfigVersion.cmake",
"/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsConfigVersionImpl.cmake",
"/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsDependencies.cmake",
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfigVersion.cmake",
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfigVersionImpl.cmake",
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsDependencies.cmake",
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6DBus/Qt6DBusConfigVersion.cmake",
"/usr/lib/cmake/Qt6DBus/Qt6DBusConfigVersionImpl.cmake",
"/usr/lib/cmake/Qt6DBus/Qt6DBusConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6DBus/Qt6DBusDependencies.cmake",
"/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsConfigVersion.cmake",
"/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsConfigVersionImpl.cmake",
"/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsDependencies.cmake",
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfigVersion.cmake",
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfigVersionImpl.cmake",
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsDependencies.cmake",
"/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsTargets.cmake",
"/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsVersionlessTargets.cmake",
"/usr/lib/cmake/Qt6DBus/Qt6DBusTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6DBus/Qt6DBusTargets.cmake",
"/usr/lib/cmake/Qt6DBus/Qt6DBusTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6DBus/Qt6DBusAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6DBus/Qt6DBusMacros.cmake",
"/usr/share/cmake/Modules/MacroAddFileDependencies.cmake",
"/usr/lib/cmake/Qt6DBus/Qt6DBusVersionlessAliasTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6GuiTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6GuiTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6GuiTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6GuiAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6GuiPlugins.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QGifPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QGifPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QGifPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QGifPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QGifPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QICNSPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QICNSPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QICNSPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QICNSPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QICNSPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QICOPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QICOPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QICOPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QICOPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QICOPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QJp2PluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QJp2PluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QJp2PluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QJp2PluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QJp2PluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QJpegPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QJpegPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QJpegPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QJpegPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QJpegPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QMngPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QMngPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QMngPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QMngPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QMngPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QPdfPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QPdfPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QPdfPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QPdfPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QPdfPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QSvgPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QSvgPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QSvgPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QSvgPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QSvgPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QTgaPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QTgaPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QTgaPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QTgaPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QTgaPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QTiffPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QTiffPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QTiffPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QTiffPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QTiffPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWebpPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWebpPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWebpPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWebpPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QWebpPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginTargets.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Gui/Qt6GuiVersionlessAliasTargets.cmake",
"/usr/lib/cmake/Qt6Widgets/Qt6WidgetsTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Widgets/Qt6WidgetsTargets.cmake",
"/usr/lib/cmake/Qt6Widgets/Qt6WidgetsTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Widgets/Qt6WidgetsAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Widgets/Qt6WidgetsMacros.cmake",
"/usr/lib/cmake/Qt6Widgets/Qt6WidgetsPlugins.cmake",
"/usr/lib/cmake/Qt6Widgets/Qt6WidgetsVersionlessAliasTargets.cmake",
"/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsConfigVersion.cmake",
"/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsConfigVersionImpl.cmake",
"/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsDependencies.cmake",
"/usr/lib/cmake/Qt6Network/Qt6NetworkConfigVersion.cmake",
"/usr/lib/cmake/Qt6Network/Qt6NetworkConfigVersionImpl.cmake",
"/usr/lib/cmake/Qt6Network/Qt6NetworkConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Network/Qt6NetworkDependencies.cmake",
"/usr/lib/cmake/Qt6Network/Qt6NetworkTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Network/Qt6NetworkTargets.cmake",
"/usr/lib/cmake/Qt6Network/Qt6NetworkTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Network/Qt6NetworkAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Network/Qt6NetworkPlugins.cmake",
"/usr/lib/cmake/Qt6Network/Qt6QConnManNetworkInformationPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Network/Qt6QConnManNetworkInformationPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Network/Qt6QConnManNetworkInformationPluginTargets.cmake",
"/usr/lib/cmake/Qt6Network/Qt6QConnManNetworkInformationPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Network/Qt6QConnManNetworkInformationPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Network/Qt6QGlibNetworkInformationPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Network/Qt6QGlibNetworkInformationPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Network/Qt6QGlibNetworkInformationPluginTargets.cmake",
"/usr/lib/cmake/Qt6Network/Qt6QGlibNetworkInformationPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Network/Qt6QGlibNetworkInformationPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Network/Qt6QNetworkManagerNetworkInformationPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Network/Qt6QNetworkManagerNetworkInformationPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Network/Qt6QNetworkManagerNetworkInformationPluginTargets.cmake",
"/usr/lib/cmake/Qt6Network/Qt6QNetworkManagerNetworkInformationPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Network/Qt6QNetworkManagerNetworkInformationPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Network/Qt6QTlsBackendCertOnlyPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Network/Qt6QTlsBackendCertOnlyPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Network/Qt6QTlsBackendCertOnlyPluginTargets.cmake",
"/usr/lib/cmake/Qt6Network/Qt6QTlsBackendCertOnlyPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Network/Qt6QTlsBackendCertOnlyPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Network/Qt6QTlsBackendOpenSSLPluginConfig.cmake",
"/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake",
"/usr/lib/cmake/Qt6Network/Qt6QTlsBackendOpenSSLPluginTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6Network/Qt6QTlsBackendOpenSSLPluginTargets.cmake",
"/usr/lib/cmake/Qt6Network/Qt6QTlsBackendOpenSSLPluginTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6Network/Qt6QTlsBackendOpenSSLPluginAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6Network/Qt6NetworkVersionlessAliasTargets.cmake",
"/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsTargetsPrecheck.cmake",
"/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsTargets.cmake",
"/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsTargets-relwithdebinfo.cmake",
"/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsAdditionalTargetInfo.cmake",
"/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsVersionlessAliasTargets.cmake"
],
"CMAKE_SOURCE_DIR" : "/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt",
"CROSS_CONFIG" : false,
"DEP_FILE" : "/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/StreamHubQtClient_autogen/deps",
"DEP_FILE_RULE_NAME" : "StreamHubQtClient_autogen/timestamp",
"HEADERS" :
[
[
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/HistoryBar.h",
"Mu",
"EWIEGA46WW/moc_HistoryBar.cpp",
null
],
[
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/Hub.h",
"Mu",
"EWIEGA46WW/moc_Hub.cpp",
null
],
[
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/MainWindow.h",
"Mu",
"EWIEGA46WW/moc_MainWindow.cpp",
null
],
[
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/Model.h",
"Mu",
"EWIEGA46WW/moc_Model.cpp",
null
],
[
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/PlotGrid.h",
"Mu",
"EWIEGA46WW/moc_PlotGrid.cpp",
null
],
[
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/PlotWidget.h",
"Mu",
"EWIEGA46WW/moc_PlotWidget.cpp",
null
],
[
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/SourceSidebar.h",
"Mu",
"EWIEGA46WW/moc_SourceSidebar.cpp",
null
],
[
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/StatsDialog.h",
"Mu",
"EWIEGA46WW/moc_StatsDialog.cpp",
null
],
[
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/Theme.h",
"Mu",
"EWIEGA46WW/moc_Theme.cpp",
null
],
[
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/TriggerBar.h",
"Mu",
"EWIEGA46WW/moc_TriggerBar.cpp",
null
],
[
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/WsClient.h",
"Mu",
"EWIEGA46WW/moc_WsClient.cpp",
null
],
[
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.h",
"Mu",
"GV55XEWTON/moc_Protocol.cpp",
null
]
],
"HEADER_EXTENSIONS" : [ "h", "hh", "h++", "hm", "hpp", "hxx", "in", "txx" ],
"INCLUDE_DIR" : "/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/StreamHubQtClient_autogen/include",
"MOC_COMPILATION_FILE" : "/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/StreamHubQtClient_autogen/mocs_compilation.cpp",
"MOC_DEFINITIONS" :
[
"QT_CORE_LIB",
"QT_GUI_LIB",
"QT_NETWORK_LIB",
"QT_NO_DEBUG",
"QT_NO_KEYWORDS",
"QT_WEBSOCKETS_LIB",
"QT_WIDGETS_LIB"
],
"MOC_DEPEND_FILTERS" :
[
[
"Q_PLUGIN_METADATA",
"[\n][ \t]*Q_PLUGIN_METADATA[ \t]*\\([^\\)]*FILE[ \t]*\"([^\"]+)\""
]
],
"MOC_INCLUDES" :
[
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt",
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub",
"/usr/include/qt6/QtWidgets",
"/usr/include/qt6",
"/usr/include/qt6/QtCore",
"/usr/lib/qt6/mkspecs/linux-g++",
"/usr/include/qt6/QtGui",
"/usr/include/qt6/QtWebSockets",
"/usr/include/qt6/QtNetwork",
"/usr/include",
"/usr/include/c++/16.1.1",
"/usr/include/c++/16.1.1/x86_64-pc-linux-gnu",
"/usr/include/c++/16.1.1/backward",
"/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include",
"/usr/local/include"
],
"MOC_MACRO_NAMES" :
[
"Q_OBJECT",
"Q_GADGET",
"Q_NAMESPACE",
"Q_NAMESPACE_EXPORT",
"Q_GADGET_EXPORT",
"Q_ENUM_NS"
],
"MOC_OPTIONS" : [],
"MOC_PATH_PREFIX" : false,
"MOC_PREDEFS_CMD" :
[
"/usr/bin/c++",
"-std=gnu++17",
"-w",
"-dM",
"-E",
"/usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp"
],
"MOC_PREDEFS_FILE" : "/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/StreamHubQtClient_autogen/moc_predefs.h",
"MOC_RELAXED_MODE" : false,
"MOC_SKIP" : [],
"MULTI_CONFIG" : false,
"PARALLEL" : 12,
"PARSE_CACHE_FILE" : "/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/StreamHubQtClient_autogen.dir/ParseCache.txt",
"QT_MOC_EXECUTABLE" : "/usr/lib/qt6/moc",
"QT_UIC_EXECUTABLE" : "",
"QT_VERSION_MAJOR" : 6,
"QT_VERSION_MINOR" : 11,
"SETTINGS_FILE" : "/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/StreamHubQtClient_autogen.dir/AutogenUsed.txt",
"SOURCES" :
[
[
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/HistoryBar.cpp",
"Mu",
null
],
[
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/Hub.cpp",
"Mu",
null
],
[
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/MainWindow.cpp",
"Mu",
null
],
[
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/PlotGrid.cpp",
"Mu",
null
],
[
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/PlotWidget.cpp",
"Mu",
null
],
[
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/SourceSidebar.cpp",
"Mu",
null
],
[
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/StatsDialog.cpp",
"Mu",
null
],
[
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/Theme.cpp",
"Mu",
null
],
[
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/TriggerBar.cpp",
"Mu",
null
],
[
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/WsClient.cpp",
"Mu",
null
],
[
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/main.cpp",
"Mu",
null
],
[
"/home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp",
"Mu",
null
]
],
"USE_BETTER_GRAPH" : true,
"VERBOSITY" : 0
}
@@ -0,0 +1 @@
moc:776e76dd1ca5e6a827a6ed08b3f295c7d152964668c1bc455d9fcaea3e7579c3
@@ -0,0 +1,23 @@
# Consider dependencies only in project.
set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
# The set of languages for which implicit dependencies are needed:
set(CMAKE_DEPENDS_LANGUAGES
)
# The set of dependency files which are needed:
set(CMAKE_DEPENDS_DEPENDENCY_FILES
"" "StreamHubQtClient_autogen/timestamp" "custom" "StreamHubQtClient_autogen/deps"
)
# Targets to which this target links which contain Fortran sources.
set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES
)
# Targets to which this target links which contain Fortran sources.
set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES
)
# Fortran module output directory.
set(CMAKE_Fortran_TARGET_MODULE_DIR "")
@@ -0,0 +1,96 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 4.3
# Delete rule output on recipe failure.
.DELETE_ON_ERROR:
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Disable VCS-based implicit rules.
% : %,v
# Disable VCS-based implicit rules.
% : RCS/%
# Disable VCS-based implicit rules.
% : RCS/%,v
# Disable VCS-based implicit rules.
% : SCCS/s.%
# Disable VCS-based implicit rules.
% : s.%
.SUFFIXES: .hpux_make_needs_suffix_list
# Command-line flag to silence nested $(MAKE).
$(VERBOSE)MAKESILENT = -s
#Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /usr/bin/cmake
# The command to remove a file.
RM = /usr/bin/cmake -E rm -f
# Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build
# Utility rule file for StreamHubQtClient_autogen.
# Include any custom commands dependencies for this target.
include CMakeFiles/StreamHubQtClient_autogen.dir/compiler_depend.make
# Include the progress variables for this target.
include CMakeFiles/StreamHubQtClient_autogen.dir/progress.make
CMakeFiles/StreamHubQtClient_autogen: StreamHubQtClient_autogen/timestamp
StreamHubQtClient_autogen/timestamp: /usr/lib/qt6/moc
StreamHubQtClient_autogen/timestamp: CMakeFiles/StreamHubQtClient_autogen.dir/compiler_depend.ts
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Automatic MOC for target StreamHubQtClient"
/usr/bin/cmake -E cmake_autogen /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/StreamHubQtClient_autogen.dir/AutogenInfo.json Release
/usr/bin/cmake -E touch /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/StreamHubQtClient_autogen/timestamp
CMakeFiles/StreamHubQtClient_autogen.dir/codegen:
.PHONY : CMakeFiles/StreamHubQtClient_autogen.dir/codegen
StreamHubQtClient_autogen: CMakeFiles/StreamHubQtClient_autogen
StreamHubQtClient_autogen: StreamHubQtClient_autogen/timestamp
StreamHubQtClient_autogen: CMakeFiles/StreamHubQtClient_autogen.dir/build.make
.PHONY : StreamHubQtClient_autogen
# Rule to build all files generated by this target.
CMakeFiles/StreamHubQtClient_autogen.dir/build: StreamHubQtClient_autogen
.PHONY : CMakeFiles/StreamHubQtClient_autogen.dir/build
CMakeFiles/StreamHubQtClient_autogen.dir/clean:
$(CMAKE_COMMAND) -P CMakeFiles/StreamHubQtClient_autogen.dir/cmake_clean.cmake
.PHONY : CMakeFiles/StreamHubQtClient_autogen.dir/clean
CMakeFiles/StreamHubQtClient_autogen.dir/depend:
cd /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/StreamHubQtClient_autogen.dir/DependInfo.cmake "--color=$(COLOR)" StreamHubQtClient_autogen
.PHONY : CMakeFiles/StreamHubQtClient_autogen.dir/depend
@@ -0,0 +1,10 @@
file(REMOVE_RECURSE
"CMakeFiles/StreamHubQtClient_autogen"
"StreamHubQtClient_autogen/mocs_compilation.cpp"
"StreamHubQtClient_autogen/timestamp"
)
# Per-language clean rules from dependency scanning.
foreach(lang )
include(CMakeFiles/StreamHubQtClient_autogen.dir/cmake_clean_${lang}.cmake OPTIONAL)
endforeach()
@@ -0,0 +1,996 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 4.3
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/StreamHubQtClient_autogen/timestamp
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/CMakeLists.txt
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/HistoryBar.cpp
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/HistoryBar.h
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/Hub.cpp
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/Hub.h
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/MainWindow.cpp
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/MainWindow.h
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/Model.h
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/PlotGrid.cpp
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/PlotGrid.h
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/PlotWidget.cpp
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/PlotWidget.h
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/SourceSidebar.cpp
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/SourceSidebar.h
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/StatsDialog.cpp
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/StatsDialog.h
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/Theme.cpp
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/Theme.h
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/TriggerBar.cpp
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/TriggerBar.h
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/WsClient.cpp
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/WsClient.h
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/4.3.4/CMakeCXXCompiler.cmake
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/4.3.4/CMakeSystem.cmake
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/StreamHubQtClient_autogen/moc_predefs.h
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/main.cpp
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.h
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub/SignalBuffer.h
/usr/bin/cmake
/usr/include/alloca.h
/usr/include/asm-generic/bitsperlong.h
/usr/include/asm-generic/errno-base.h
/usr/include/asm-generic/errno.h
/usr/include/asm-generic/int-ll64.h
/usr/include/asm-generic/posix_types.h
/usr/include/asm-generic/types.h
/usr/include/asm/bitsperlong.h
/usr/include/asm/errno.h
/usr/include/asm/posix_types.h
/usr/include/asm/posix_types_64.h
/usr/include/asm/types.h
/usr/include/assert.h
/usr/include/bits/atomic_wide_counter.h
/usr/include/bits/byteswap.h
/usr/include/bits/cpu-set.h
/usr/include/bits/endian.h
/usr/include/bits/endianness.h
/usr/include/bits/errno.h
/usr/include/bits/floatn-common.h
/usr/include/bits/floatn.h
/usr/include/bits/libc-header-start.h
/usr/include/bits/local_lim.h
/usr/include/bits/locale.h
/usr/include/bits/long-double.h
/usr/include/bits/posix1_lim.h
/usr/include/bits/posix2_lim.h
/usr/include/bits/pthread_stack_min-dynamic.h
/usr/include/bits/pthreadtypes-arch.h
/usr/include/bits/pthreadtypes.h
/usr/include/bits/sched.h
/usr/include/bits/select.h
/usr/include/bits/setjmp.h
/usr/include/bits/stdint-intn.h
/usr/include/bits/stdint-least.h
/usr/include/bits/stdint-uintn.h
/usr/include/bits/stdio_lim.h
/usr/include/bits/stdlib-float.h
/usr/include/bits/struct_mutex.h
/usr/include/bits/struct_rwlock.h
/usr/include/bits/thread-shared-types.h
/usr/include/bits/time.h
/usr/include/bits/time64.h
/usr/include/bits/timesize.h
/usr/include/bits/timex.h
/usr/include/bits/types.h
/usr/include/bits/types/FILE.h
/usr/include/bits/types/__FILE.h
/usr/include/bits/types/__fpos64_t.h
/usr/include/bits/types/__fpos_t.h
/usr/include/bits/types/__locale_t.h
/usr/include/bits/types/__mbstate_t.h
/usr/include/bits/types/__sigset_t.h
/usr/include/bits/types/clock_t.h
/usr/include/bits/types/clockid_t.h
/usr/include/bits/types/cookie_io_functions_t.h
/usr/include/bits/types/error_t.h
/usr/include/bits/types/locale_t.h
/usr/include/bits/types/mbstate_t.h
/usr/include/bits/types/sigset_t.h
/usr/include/bits/types/struct_FILE.h
/usr/include/bits/types/struct___jmp_buf_tag.h
/usr/include/bits/types/struct_itimerspec.h
/usr/include/bits/types/struct_sched_param.h
/usr/include/bits/types/struct_timespec.h
/usr/include/bits/types/struct_timeval.h
/usr/include/bits/types/struct_tm.h
/usr/include/bits/types/time_t.h
/usr/include/bits/types/timer_t.h
/usr/include/bits/types/wint_t.h
/usr/include/bits/typesizes.h
/usr/include/bits/uintn-identity.h
/usr/include/bits/uio_lim.h
/usr/include/bits/waitflags.h
/usr/include/bits/waitstatus.h
/usr/include/bits/wchar.h
/usr/include/bits/wordsize.h
/usr/include/bits/xopen_lim.h
/usr/include/c++/16.1.1/algorithm
/usr/include/c++/16.1.1/array
/usr/include/c++/16.1.1/atomic
/usr/include/c++/16.1.1/backward/auto_ptr.h
/usr/include/c++/16.1.1/backward/binders.h
/usr/include/c++/16.1.1/bit
/usr/include/c++/16.1.1/bits/algorithmfwd.h
/usr/include/c++/16.1.1/bits/align.h
/usr/include/c++/16.1.1/bits/alloc_traits.h
/usr/include/c++/16.1.1/bits/allocated_ptr.h
/usr/include/c++/16.1.1/bits/allocator.h
/usr/include/c++/16.1.1/bits/atomic_base.h
/usr/include/c++/16.1.1/bits/atomic_lockfree_defines.h
/usr/include/c++/16.1.1/bits/basic_string.h
/usr/include/c++/16.1.1/bits/basic_string.tcc
/usr/include/c++/16.1.1/bits/char_traits.h
/usr/include/c++/16.1.1/bits/charconv.h
/usr/include/c++/16.1.1/bits/chrono.h
/usr/include/c++/16.1.1/bits/concept_check.h
/usr/include/c++/16.1.1/bits/cpp_type_traits.h
/usr/include/c++/16.1.1/bits/cxxabi_forced.h
/usr/include/c++/16.1.1/bits/cxxabi_init_exception.h
/usr/include/c++/16.1.1/bits/enable_special_members.h
/usr/include/c++/16.1.1/bits/erase_if.h
/usr/include/c++/16.1.1/bits/exception.h
/usr/include/c++/16.1.1/bits/exception_defines.h
/usr/include/c++/16.1.1/bits/exception_ptr.h
/usr/include/c++/16.1.1/bits/functexcept.h
/usr/include/c++/16.1.1/bits/functional_hash.h
/usr/include/c++/16.1.1/bits/hash_bytes.h
/usr/include/c++/16.1.1/bits/hashtable.h
/usr/include/c++/16.1.1/bits/hashtable_policy.h
/usr/include/c++/16.1.1/bits/invoke.h
/usr/include/c++/16.1.1/bits/ios_base.h
/usr/include/c++/16.1.1/bits/list.tcc
/usr/include/c++/16.1.1/bits/locale_classes.h
/usr/include/c++/16.1.1/bits/locale_classes.tcc
/usr/include/c++/16.1.1/bits/localefwd.h
/usr/include/c++/16.1.1/bits/memory_resource.h
/usr/include/c++/16.1.1/bits/memoryfwd.h
/usr/include/c++/16.1.1/bits/move.h
/usr/include/c++/16.1.1/bits/nested_exception.h
/usr/include/c++/16.1.1/bits/new_allocator.h
/usr/include/c++/16.1.1/bits/new_except.h
/usr/include/c++/16.1.1/bits/new_throw.h
/usr/include/c++/16.1.1/bits/node_handle.h
/usr/include/c++/16.1.1/bits/ostream_insert.h
/usr/include/c++/16.1.1/bits/parse_numbers.h
/usr/include/c++/16.1.1/bits/postypes.h
/usr/include/c++/16.1.1/bits/predefined_ops.h
/usr/include/c++/16.1.1/bits/ptr_traits.h
/usr/include/c++/16.1.1/bits/range_access.h
/usr/include/c++/16.1.1/bits/refwrap.h
/usr/include/c++/16.1.1/bits/requires_hosted.h
/usr/include/c++/16.1.1/bits/shared_ptr.h
/usr/include/c++/16.1.1/bits/shared_ptr_atomic.h
/usr/include/c++/16.1.1/bits/shared_ptr_base.h
/usr/include/c++/16.1.1/bits/specfun.h
/usr/include/c++/16.1.1/bits/std_abs.h
/usr/include/c++/16.1.1/bits/std_function.h
/usr/include/c++/16.1.1/bits/stdexcept_except.h
/usr/include/c++/16.1.1/bits/stdexcept_throw.h
/usr/include/c++/16.1.1/bits/stdexcept_throwfwd.h
/usr/include/c++/16.1.1/bits/stl_algo.h
/usr/include/c++/16.1.1/bits/stl_algobase.h
/usr/include/c++/16.1.1/bits/stl_bvector.h
/usr/include/c++/16.1.1/bits/stl_construct.h
/usr/include/c++/16.1.1/bits/stl_function.h
/usr/include/c++/16.1.1/bits/stl_heap.h
/usr/include/c++/16.1.1/bits/stl_iterator.h
/usr/include/c++/16.1.1/bits/stl_iterator_base_funcs.h
/usr/include/c++/16.1.1/bits/stl_iterator_base_types.h
/usr/include/c++/16.1.1/bits/stl_list.h
/usr/include/c++/16.1.1/bits/stl_map.h
/usr/include/c++/16.1.1/bits/stl_multimap.h
/usr/include/c++/16.1.1/bits/stl_multiset.h
/usr/include/c++/16.1.1/bits/stl_numeric.h
/usr/include/c++/16.1.1/bits/stl_pair.h
/usr/include/c++/16.1.1/bits/stl_raw_storage_iter.h
/usr/include/c++/16.1.1/bits/stl_relops.h
/usr/include/c++/16.1.1/bits/stl_set.h
/usr/include/c++/16.1.1/bits/stl_tempbuf.h
/usr/include/c++/16.1.1/bits/stl_tree.h
/usr/include/c++/16.1.1/bits/stl_uninitialized.h
/usr/include/c++/16.1.1/bits/stl_vector.h
/usr/include/c++/16.1.1/bits/stream_iterator.h
/usr/include/c++/16.1.1/bits/streambuf.tcc
/usr/include/c++/16.1.1/bits/streambuf_iterator.h
/usr/include/c++/16.1.1/bits/string_view.tcc
/usr/include/c++/16.1.1/bits/stringfwd.h
/usr/include/c++/16.1.1/bits/uniform_int_dist.h
/usr/include/c++/16.1.1/bits/unique_ptr.h
/usr/include/c++/16.1.1/bits/unordered_map.h
/usr/include/c++/16.1.1/bits/unordered_set.h
/usr/include/c++/16.1.1/bits/uses_allocator.h
/usr/include/c++/16.1.1/bits/uses_allocator_args.h
/usr/include/c++/16.1.1/bits/utility.h
/usr/include/c++/16.1.1/bits/vector.tcc
/usr/include/c++/16.1.1/bits/version.h
/usr/include/c++/16.1.1/cassert
/usr/include/c++/16.1.1/cctype
/usr/include/c++/16.1.1/cerrno
/usr/include/c++/16.1.1/chrono
/usr/include/c++/16.1.1/climits
/usr/include/c++/16.1.1/clocale
/usr/include/c++/16.1.1/cmath
/usr/include/c++/16.1.1/compare
/usr/include/c++/16.1.1/concepts
/usr/include/c++/16.1.1/cstddef
/usr/include/c++/16.1.1/cstdint
/usr/include/c++/16.1.1/cstdio
/usr/include/c++/16.1.1/cstdlib
/usr/include/c++/16.1.1/cstring
/usr/include/c++/16.1.1/ctime
/usr/include/c++/16.1.1/cwchar
/usr/include/c++/16.1.1/debug/assertions.h
/usr/include/c++/16.1.1/debug/debug.h
/usr/include/c++/16.1.1/exception
/usr/include/c++/16.1.1/ext/aligned_buffer.h
/usr/include/c++/16.1.1/ext/alloc_traits.h
/usr/include/c++/16.1.1/ext/atomicity.h
/usr/include/c++/16.1.1/ext/concurrence.h
/usr/include/c++/16.1.1/ext/numeric_traits.h
/usr/include/c++/16.1.1/ext/string_conversions.h
/usr/include/c++/16.1.1/ext/type_traits.h
/usr/include/c++/16.1.1/functional
/usr/include/c++/16.1.1/initializer_list
/usr/include/c++/16.1.1/iosfwd
/usr/include/c++/16.1.1/iterator
/usr/include/c++/16.1.1/limits
/usr/include/c++/16.1.1/list
/usr/include/c++/16.1.1/map
/usr/include/c++/16.1.1/memory
/usr/include/c++/16.1.1/new
/usr/include/c++/16.1.1/numeric
/usr/include/c++/16.1.1/optional
/usr/include/c++/16.1.1/pstl/execution_defs.h
/usr/include/c++/16.1.1/pstl/glue_numeric_defs.h
/usr/include/c++/16.1.1/pstl/pstl_config.h
/usr/include/c++/16.1.1/ratio
/usr/include/c++/16.1.1/set
/usr/include/c++/16.1.1/stdexcept
/usr/include/c++/16.1.1/streambuf
/usr/include/c++/16.1.1/string
/usr/include/c++/16.1.1/string_view
/usr/include/c++/16.1.1/system_error
/usr/include/c++/16.1.1/tr1/bessel_function.tcc
/usr/include/c++/16.1.1/tr1/beta_function.tcc
/usr/include/c++/16.1.1/tr1/ell_integral.tcc
/usr/include/c++/16.1.1/tr1/exp_integral.tcc
/usr/include/c++/16.1.1/tr1/gamma.tcc
/usr/include/c++/16.1.1/tr1/hypergeometric.tcc
/usr/include/c++/16.1.1/tr1/legendre_function.tcc
/usr/include/c++/16.1.1/tr1/modified_bessel_func.tcc
/usr/include/c++/16.1.1/tr1/poly_hermite.tcc
/usr/include/c++/16.1.1/tr1/poly_laguerre.tcc
/usr/include/c++/16.1.1/tr1/riemann_zeta.tcc
/usr/include/c++/16.1.1/tr1/special_function_util.h
/usr/include/c++/16.1.1/tuple
/usr/include/c++/16.1.1/type_traits
/usr/include/c++/16.1.1/typeinfo
/usr/include/c++/16.1.1/unordered_map
/usr/include/c++/16.1.1/unordered_set
/usr/include/c++/16.1.1/utility
/usr/include/c++/16.1.1/variant
/usr/include/c++/16.1.1/vector
/usr/include/c++/16.1.1/version
/usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/atomic_word.h
/usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++allocator.h
/usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++config.h
/usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++locale.h
/usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/cpu_defines.h
/usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/error_constants.h
/usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h
/usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/gthr.h
/usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/os_defines.h
/usr/include/ctype.h
/usr/include/endian.h
/usr/include/errno.h
/usr/include/features-time64.h
/usr/include/features.h
/usr/include/gnu/stubs-64.h
/usr/include/gnu/stubs.h
/usr/include/limits.h
/usr/include/linux/errno.h
/usr/include/linux/limits.h
/usr/include/linux/posix_types.h
/usr/include/linux/sched/types.h
/usr/include/linux/stddef.h
/usr/include/linux/types.h
/usr/include/locale.h
/usr/include/pthread.h
/usr/include/qt6/QtCore/QByteArray
/usr/include/qt6/QtCore/QFlags
/usr/include/qt6/QtCore/QObject
/usr/include/qt6/QtCore/QSharedDataPointer
/usr/include/qt6/QtCore/QString
/usr/include/qt6/QtCore/QTimer
/usr/include/qt6/QtCore/QUrl
/usr/include/qt6/QtCore/QVariant
/usr/include/qt6/QtCore/q17memory.h
/usr/include/qt6/QtCore/q20bit.h
/usr/include/qt6/QtCore/q20functional.h
/usr/include/qt6/QtCore/q20iterator.h
/usr/include/qt6/QtCore/q20memory.h
/usr/include/qt6/QtCore/q20type_traits.h
/usr/include/qt6/QtCore/q20utility.h
/usr/include/qt6/QtCore/q23type_traits.h
/usr/include/qt6/QtCore/q23utility.h
/usr/include/qt6/QtCore/q26numeric.h
/usr/include/qt6/QtCore/qabstracteventdispatcher.h
/usr/include/qt6/QtCore/qalgorithms.h
/usr/include/qt6/QtCore/qalloc.h
/usr/include/qt6/QtCore/qanystringview.h
/usr/include/qt6/QtCore/qarraydata.h
/usr/include/qt6/QtCore/qarraydataops.h
/usr/include/qt6/QtCore/qarraydatapointer.h
/usr/include/qt6/QtCore/qassert.h
/usr/include/qt6/QtCore/qatomic.h
/usr/include/qt6/QtCore/qatomic_cxx11.h
/usr/include/qt6/QtCore/qbasicatomic.h
/usr/include/qt6/QtCore/qbasictimer.h
/usr/include/qt6/QtCore/qbindingstorage.h
/usr/include/qt6/QtCore/qbytearray.h
/usr/include/qt6/QtCore/qbytearrayalgorithms.h
/usr/include/qt6/QtCore/qbytearraylist.h
/usr/include/qt6/QtCore/qbytearrayview.h
/usr/include/qt6/QtCore/qcalendar.h
/usr/include/qt6/QtCore/qchar.h
/usr/include/qt6/QtCore/qcheckedint_impl.h
/usr/include/qt6/QtCore/qcompare.h
/usr/include/qt6/QtCore/qcompare_impl.h
/usr/include/qt6/QtCore/qcomparehelpers.h
/usr/include/qt6/QtCore/qcompilerdetection.h
/usr/include/qt6/QtCore/qconfig.h
/usr/include/qt6/QtCore/qconstructormacros.h
/usr/include/qt6/QtCore/qcontainerfwd.h
/usr/include/qt6/QtCore/qcontainerinfo.h
/usr/include/qt6/QtCore/qcontainertools_impl.h
/usr/include/qt6/QtCore/qcontiguouscache.h
/usr/include/qt6/QtCore/qcryptographichash.h
/usr/include/qt6/QtCore/qdarwinhelpers.h
/usr/include/qt6/QtCore/qdatastream.h
/usr/include/qt6/QtCore/qdatetime.h
/usr/include/qt6/QtCore/qdeadlinetimer.h
/usr/include/qt6/QtCore/qdebug.h
/usr/include/qt6/QtCore/qendian.h
/usr/include/qt6/QtCore/qeventloop.h
/usr/include/qt6/QtCore/qexceptionhandling.h
/usr/include/qt6/QtCore/qflags.h
/usr/include/qt6/QtCore/qfloat16.h
/usr/include/qt6/QtCore/qforeach.h
/usr/include/qt6/QtCore/qfunctionaltools_impl.h
/usr/include/qt6/QtCore/qfunctionpointer.h
/usr/include/qt6/QtCore/qgenericatomic.h
/usr/include/qt6/QtCore/qglobal.h
/usr/include/qt6/QtCore/qglobalstatic.h
/usr/include/qt6/QtCore/qhash.h
/usr/include/qt6/QtCore/qhashfunctions.h
/usr/include/qt6/QtCore/qiodevice.h
/usr/include/qt6/QtCore/qiodevicebase.h
/usr/include/qt6/QtCore/qiterable.h
/usr/include/qt6/QtCore/qiterator.h
/usr/include/qt6/QtCore/qlatin1stringview.h
/usr/include/qt6/QtCore/qline.h
/usr/include/qt6/QtCore/qlist.h
/usr/include/qt6/QtCore/qlocale.h
/usr/include/qt6/QtCore/qlogging.h
/usr/include/qt6/QtCore/qmalloc.h
/usr/include/qt6/QtCore/qmap.h
/usr/include/qt6/QtCore/qmargins.h
/usr/include/qt6/QtCore/qmath.h
/usr/include/qt6/QtCore/qmetacontainer.h
/usr/include/qt6/QtCore/qmetaobject.h
/usr/include/qt6/QtCore/qmetatype.h
/usr/include/qt6/QtCore/qminmax.h
/usr/include/qt6/QtCore/qnamespace.h
/usr/include/qt6/QtCore/qnumeric.h
/usr/include/qt6/QtCore/qobject.h
/usr/include/qt6/QtCore/qobject_impl.h
/usr/include/qt6/QtCore/qobjectdefs.h
/usr/include/qt6/QtCore/qobjectdefs_impl.h
/usr/include/qt6/QtCore/qoverload.h
/usr/include/qt6/QtCore/qpair.h
/usr/include/qt6/QtCore/qpoint.h
/usr/include/qt6/QtCore/qprocessordetection.h
/usr/include/qt6/QtCore/qrect.h
/usr/include/qt6/QtCore/qrefcount.h
/usr/include/qt6/QtCore/qscopedpointer.h
/usr/include/qt6/QtCore/qscopeguard.h
/usr/include/qt6/QtCore/qset.h
/usr/include/qt6/QtCore/qshareddata.h
/usr/include/qt6/QtCore/qshareddata_impl.h
/usr/include/qt6/QtCore/qsharedpointer.h
/usr/include/qt6/QtCore/qsharedpointer_impl.h
/usr/include/qt6/QtCore/qsize.h
/usr/include/qt6/QtCore/qspan.h
/usr/include/qt6/QtCore/qstdlibdetection.h
/usr/include/qt6/QtCore/qstring.h
/usr/include/qt6/QtCore/qstringalgorithms.h
/usr/include/qt6/QtCore/qstringbuilder.h
/usr/include/qt6/QtCore/qstringconverter.h
/usr/include/qt6/QtCore/qstringconverter_base.h
/usr/include/qt6/QtCore/qstringfwd.h
/usr/include/qt6/QtCore/qstringlist.h
/usr/include/qt6/QtCore/qstringmatcher.h
/usr/include/qt6/QtCore/qstringtokenizer.h
/usr/include/qt6/QtCore/qstringview.h
/usr/include/qt6/QtCore/qswap.h
/usr/include/qt6/QtCore/qsysinfo.h
/usr/include/qt6/QtCore/qsystemdetection.h
/usr/include/qt6/QtCore/qtaggedpointer.h
/usr/include/qt6/QtCore/qtclasshelpermacros.h
/usr/include/qt6/QtCore/qtconfiginclude.h
/usr/include/qt6/QtCore/qtconfigmacros.h
/usr/include/qt6/QtCore/qtcore-config.h
/usr/include/qt6/QtCore/qtcoreexports.h
/usr/include/qt6/QtCore/qtcoreglobal.h
/usr/include/qt6/QtCore/qtdeprecationdefinitions.h
/usr/include/qt6/QtCore/qtdeprecationmarkers.h
/usr/include/qt6/QtCore/qtenvironmentvariables.h
/usr/include/qt6/QtCore/qtextstream.h
/usr/include/qt6/QtCore/qtformat_impl.h
/usr/include/qt6/QtCore/qtimer.h
/usr/include/qt6/QtCore/qtmetamacros.h
/usr/include/qt6/QtCore/qtnoop.h
/usr/include/qt6/QtCore/qtpreprocessorsupport.h
/usr/include/qt6/QtCore/qtresource.h
/usr/include/qt6/QtCore/qttranslation.h
/usr/include/qt6/QtCore/qttypetraits.h
/usr/include/qt6/QtCore/qtversion.h
/usr/include/qt6/QtCore/qtversionchecks.h
/usr/include/qt6/QtCore/qtypeinfo.h
/usr/include/qt6/QtCore/qtypes.h
/usr/include/qt6/QtCore/qurl.h
/usr/include/qt6/QtCore/qutf8stringview.h
/usr/include/qt6/QtCore/qvariant.h
/usr/include/qt6/QtCore/qvarlengtharray.h
/usr/include/qt6/QtCore/qversiontagging.h
/usr/include/qt6/QtCore/qxptype_traits.h
/usr/include/qt6/QtCore/qyieldcpu.h
/usr/include/qt6/QtGui/QColor
/usr/include/qt6/QtGui/qaction.h
/usr/include/qt6/QtGui/qbitmap.h
/usr/include/qt6/QtGui/qbrush.h
/usr/include/qt6/QtGui/qcolor.h
/usr/include/qt6/QtGui/qcursor.h
/usr/include/qt6/QtGui/qfont.h
/usr/include/qt6/QtGui/qfontinfo.h
/usr/include/qt6/QtGui/qfontmetrics.h
/usr/include/qt6/QtGui/qfontvariableaxis.h
/usr/include/qt6/QtGui/qicon.h
/usr/include/qt6/QtGui/qimage.h
/usr/include/qt6/QtGui/qkeysequence.h
/usr/include/qt6/QtGui/qpaintdevice.h
/usr/include/qt6/QtGui/qpalette.h
/usr/include/qt6/QtGui/qpixelformat.h
/usr/include/qt6/QtGui/qpixmap.h
/usr/include/qt6/QtGui/qpolygon.h
/usr/include/qt6/QtGui/qregion.h
/usr/include/qt6/QtGui/qrgb.h
/usr/include/qt6/QtGui/qrgba64.h
/usr/include/qt6/QtGui/qtgui-config.h
/usr/include/qt6/QtGui/qtguiexports.h
/usr/include/qt6/QtGui/qtguiglobal.h
/usr/include/qt6/QtGui/qtransform.h
/usr/include/qt6/QtGui/qwindowdefs.h
/usr/include/qt6/QtNetwork/QAbstractSocket
/usr/include/qt6/QtNetwork/QNetworkProxy
/usr/include/qt6/QtNetwork/QNetworkRequest
/usr/include/qt6/QtNetwork/QSslConfiguration
/usr/include/qt6/QtNetwork/QSslError
/usr/include/qt6/QtNetwork/qabstractsocket.h
/usr/include/qt6/QtNetwork/qhostaddress.h
/usr/include/qt6/QtNetwork/qhttpheaders.h
/usr/include/qt6/QtNetwork/qnetworkproxy.h
/usr/include/qt6/QtNetwork/qnetworkrequest.h
/usr/include/qt6/QtNetwork/qssl.h
/usr/include/qt6/QtNetwork/qsslcertificate.h
/usr/include/qt6/QtNetwork/qsslconfiguration.h
/usr/include/qt6/QtNetwork/qsslerror.h
/usr/include/qt6/QtNetwork/qsslsocket.h
/usr/include/qt6/QtNetwork/qtcpsocket.h
/usr/include/qt6/QtNetwork/qtnetwork-config.h
/usr/include/qt6/QtNetwork/qtnetworkexports.h
/usr/include/qt6/QtNetwork/qtnetworkglobal.h
/usr/include/qt6/QtWebSockets/QWebSocket
/usr/include/qt6/QtWebSockets/qtwebsocketsexports.h
/usr/include/qt6/QtWebSockets/qwebsocket.h
/usr/include/qt6/QtWebSockets/qwebsocketprotocol.h
/usr/include/qt6/QtWebSockets/qwebsockets_global.h
/usr/include/qt6/QtWidgets/QDialog
/usr/include/qt6/QtWidgets/QMainWindow
/usr/include/qt6/QtWidgets/QWidget
/usr/include/qt6/QtWidgets/qdialog.h
/usr/include/qt6/QtWidgets/qmainwindow.h
/usr/include/qt6/QtWidgets/qsizepolicy.h
/usr/include/qt6/QtWidgets/qtabwidget.h
/usr/include/qt6/QtWidgets/qtwidgets-config.h
/usr/include/qt6/QtWidgets/qtwidgetsexports.h
/usr/include/qt6/QtWidgets/qtwidgetsglobal.h
/usr/include/qt6/QtWidgets/qwidget.h
/usr/include/sched.h
/usr/include/stdc-predef.h
/usr/include/stdint.h
/usr/include/stdio.h
/usr/include/stdlib.h
/usr/include/string.h
/usr/include/strings.h
/usr/include/sys/cdefs.h
/usr/include/sys/select.h
/usr/include/sys/single_threaded.h
/usr/include/sys/types.h
/usr/include/time.h
/usr/include/wchar.h
/usr/lib/cmake/Qt6/FindWrapAtomic.cmake
/usr/lib/cmake/Qt6/FindWrapOpenGL.cmake
/usr/lib/cmake/Qt6/FindWrapVulkanHeaders.cmake
/usr/lib/cmake/Qt6/Qt6Config.cmake
/usr/lib/cmake/Qt6/Qt6ConfigExtras.cmake
/usr/lib/cmake/Qt6/Qt6ConfigVersion.cmake
/usr/lib/cmake/Qt6/Qt6ConfigVersionImpl.cmake
/usr/lib/cmake/Qt6/Qt6Dependencies.cmake
/usr/lib/cmake/Qt6/Qt6Targets.cmake
/usr/lib/cmake/Qt6/Qt6TargetsPrecheck.cmake
/usr/lib/cmake/Qt6/Qt6VersionlessAliasTargets.cmake
/usr/lib/cmake/Qt6/QtFeature.cmake
/usr/lib/cmake/Qt6/QtFeatureCommon.cmake
/usr/lib/cmake/Qt6/QtInstallPaths.cmake
/usr/lib/cmake/Qt6/QtPublicAndroidHelpers.cmake
/usr/lib/cmake/Qt6/QtPublicAppleHelpers.cmake
/usr/lib/cmake/Qt6/QtPublicCMakeEarlyPolicyHelpers.cmake
/usr/lib/cmake/Qt6/QtPublicCMakeHelpers.cmake
/usr/lib/cmake/Qt6/QtPublicCMakeVersionHelpers.cmake
/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake
/usr/lib/cmake/Qt6/QtPublicExternalProjectHelpers.cmake
/usr/lib/cmake/Qt6/QtPublicFinalizerHelpers.cmake
/usr/lib/cmake/Qt6/QtPublicFindPackageHelpers.cmake
/usr/lib/cmake/Qt6/QtPublicGitHelpers.cmake
/usr/lib/cmake/Qt6/QtPublicPluginHelpers.cmake
/usr/lib/cmake/Qt6/QtPublicPluginHelpers_v2.cmake
/usr/lib/cmake/Qt6/QtPublicSbomAttributionHelpers.cmake
/usr/lib/cmake/Qt6/QtPublicSbomBuildToolHelpers.cmake
/usr/lib/cmake/Qt6/QtPublicSbomCommonGenerationHelpers.cmake
/usr/lib/cmake/Qt6/QtPublicSbomCpeHelpers.cmake
/usr/lib/cmake/Qt6/QtPublicSbomCycloneDXHelpers.cmake
/usr/lib/cmake/Qt6/QtPublicSbomDepHelpers.cmake
/usr/lib/cmake/Qt6/QtPublicSbomDocumentNamespaceHelpers.cmake
/usr/lib/cmake/Qt6/QtPublicSbomExternalReferenceHelpers.cmake
/usr/lib/cmake/Qt6/QtPublicSbomFileHelpers.cmake
/usr/lib/cmake/Qt6/QtPublicSbomGenerationCycloneDXHelpers.cmake
/usr/lib/cmake/Qt6/QtPublicSbomGenerationHelpers.cmake
/usr/lib/cmake/Qt6/QtPublicSbomHelpers.cmake
/usr/lib/cmake/Qt6/QtPublicSbomLicenseHelpers.cmake
/usr/lib/cmake/Qt6/QtPublicSbomOpsHelpers.cmake
/usr/lib/cmake/Qt6/QtPublicSbomPurlHelpers.cmake
/usr/lib/cmake/Qt6/QtPublicSbomPythonHelpers.cmake
/usr/lib/cmake/Qt6/QtPublicSbomQtEntityHelpers.cmake
/usr/lib/cmake/Qt6/QtPublicSbomRelationshipHelpers.cmake
/usr/lib/cmake/Qt6/QtPublicSbomSystemDepHelpers.cmake
/usr/lib/cmake/Qt6/QtPublicTargetHelpers.cmake
/usr/lib/cmake/Qt6/QtPublicTestHelpers.cmake
/usr/lib/cmake/Qt6/QtPublicToolHelpers.cmake
/usr/lib/cmake/Qt6/QtPublicWalkLibsHelpers.cmake
/usr/lib/cmake/Qt6/QtPublicWindowsHelpers.cmake
/usr/lib/cmake/Qt6Core/Qt6CoreAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Core/Qt6CoreConfig.cmake
/usr/lib/cmake/Qt6Core/Qt6CoreConfigExtras.cmake
/usr/lib/cmake/Qt6Core/Qt6CoreConfigVersion.cmake
/usr/lib/cmake/Qt6Core/Qt6CoreConfigVersionImpl.cmake
/usr/lib/cmake/Qt6Core/Qt6CoreDependencies.cmake
/usr/lib/cmake/Qt6Core/Qt6CoreMacros.cmake
/usr/lib/cmake/Qt6Core/Qt6CoreTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Core/Qt6CoreTargets.cmake
/usr/lib/cmake/Qt6Core/Qt6CoreTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Core/Qt6CoreVersionlessAliasTargets.cmake
/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfig.cmake
/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfigVersion.cmake
/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfigVersionImpl.cmake
/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsDependencies.cmake
/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsTargets.cmake
/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsTargetsPrecheck.cmake
/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsVersionlessTargets.cmake
/usr/lib/cmake/Qt6DBus/Qt6DBusAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6DBus/Qt6DBusConfig.cmake
/usr/lib/cmake/Qt6DBus/Qt6DBusConfigVersion.cmake
/usr/lib/cmake/Qt6DBus/Qt6DBusConfigVersionImpl.cmake
/usr/lib/cmake/Qt6DBus/Qt6DBusDependencies.cmake
/usr/lib/cmake/Qt6DBus/Qt6DBusMacros.cmake
/usr/lib/cmake/Qt6DBus/Qt6DBusTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6DBus/Qt6DBusTargets.cmake
/usr/lib/cmake/Qt6DBus/Qt6DBusTargetsPrecheck.cmake
/usr/lib/cmake/Qt6DBus/Qt6DBusVersionlessAliasTargets.cmake
/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsConfig.cmake
/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsConfigVersion.cmake
/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsConfigVersionImpl.cmake
/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsDependencies.cmake
/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsTargets.cmake
/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsTargetsPrecheck.cmake
/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsVersionlessTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6GuiAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6GuiConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6GuiConfigVersion.cmake
/usr/lib/cmake/Qt6Gui/Qt6GuiConfigVersionImpl.cmake
/usr/lib/cmake/Qt6Gui/Qt6GuiDependencies.cmake
/usr/lib/cmake/Qt6Gui/Qt6GuiPlugins.cmake
/usr/lib/cmake/Qt6Gui/Qt6GuiTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6GuiTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6GuiTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6GuiVersionlessAliasTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QGifPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QGifPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QGifPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QGifPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QGifPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QICNSPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QICNSPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QICNSPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QICNSPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QICNSPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QICOPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QICOPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QICOPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QICOPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QICOPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QJp2PluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QJp2PluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QJp2PluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QJp2PluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QJp2PluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QJpegPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QJpegPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QJpegPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QJpegPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QJpegPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QMngPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QMngPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QMngPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QMngPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QMngPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QPdfPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QPdfPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QPdfPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QPdfPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QPdfPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QSvgPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QSvgPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QSvgPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QSvgPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QSvgPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QTgaPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QTgaPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QTgaPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QTgaPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QTgaPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QTiffPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QTiffPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QTiffPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QTiffPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QTiffPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWebpPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWebpPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWebpPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWebpPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QWebpPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginConfig.cmake
/usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginTargets.cmake
/usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsConfig.cmake
/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsConfigVersion.cmake
/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsConfigVersionImpl.cmake
/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsDependencies.cmake
/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsTargets.cmake
/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsTargetsPrecheck.cmake
/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsVersionlessTargets.cmake
/usr/lib/cmake/Qt6Network/Qt6NetworkAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Network/Qt6NetworkConfig.cmake
/usr/lib/cmake/Qt6Network/Qt6NetworkConfigVersion.cmake
/usr/lib/cmake/Qt6Network/Qt6NetworkConfigVersionImpl.cmake
/usr/lib/cmake/Qt6Network/Qt6NetworkDependencies.cmake
/usr/lib/cmake/Qt6Network/Qt6NetworkPlugins.cmake
/usr/lib/cmake/Qt6Network/Qt6NetworkTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Network/Qt6NetworkTargets.cmake
/usr/lib/cmake/Qt6Network/Qt6NetworkTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Network/Qt6NetworkVersionlessAliasTargets.cmake
/usr/lib/cmake/Qt6Network/Qt6QConnManNetworkInformationPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Network/Qt6QConnManNetworkInformationPluginConfig.cmake
/usr/lib/cmake/Qt6Network/Qt6QConnManNetworkInformationPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Network/Qt6QConnManNetworkInformationPluginTargets.cmake
/usr/lib/cmake/Qt6Network/Qt6QConnManNetworkInformationPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Network/Qt6QGlibNetworkInformationPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Network/Qt6QGlibNetworkInformationPluginConfig.cmake
/usr/lib/cmake/Qt6Network/Qt6QGlibNetworkInformationPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Network/Qt6QGlibNetworkInformationPluginTargets.cmake
/usr/lib/cmake/Qt6Network/Qt6QGlibNetworkInformationPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Network/Qt6QNetworkManagerNetworkInformationPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Network/Qt6QNetworkManagerNetworkInformationPluginConfig.cmake
/usr/lib/cmake/Qt6Network/Qt6QNetworkManagerNetworkInformationPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Network/Qt6QNetworkManagerNetworkInformationPluginTargets.cmake
/usr/lib/cmake/Qt6Network/Qt6QNetworkManagerNetworkInformationPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Network/Qt6QTlsBackendCertOnlyPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Network/Qt6QTlsBackendCertOnlyPluginConfig.cmake
/usr/lib/cmake/Qt6Network/Qt6QTlsBackendCertOnlyPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Network/Qt6QTlsBackendCertOnlyPluginTargets.cmake
/usr/lib/cmake/Qt6Network/Qt6QTlsBackendCertOnlyPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Network/Qt6QTlsBackendOpenSSLPluginAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Network/Qt6QTlsBackendOpenSSLPluginConfig.cmake
/usr/lib/cmake/Qt6Network/Qt6QTlsBackendOpenSSLPluginTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Network/Qt6QTlsBackendOpenSSLPluginTargets.cmake
/usr/lib/cmake/Qt6Network/Qt6QTlsBackendOpenSSLPluginTargetsPrecheck.cmake
/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsConfig.cmake
/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsConfigVersion.cmake
/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsConfigVersionImpl.cmake
/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsDependencies.cmake
/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsTargets.cmake
/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsTargetsPrecheck.cmake
/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsVersionlessAliasTargets.cmake
/usr/lib/cmake/Qt6Widgets/Qt6WidgetsAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake
/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfigVersion.cmake
/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfigVersionImpl.cmake
/usr/lib/cmake/Qt6Widgets/Qt6WidgetsDependencies.cmake
/usr/lib/cmake/Qt6Widgets/Qt6WidgetsMacros.cmake
/usr/lib/cmake/Qt6Widgets/Qt6WidgetsPlugins.cmake
/usr/lib/cmake/Qt6Widgets/Qt6WidgetsTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6Widgets/Qt6WidgetsTargets.cmake
/usr/lib/cmake/Qt6Widgets/Qt6WidgetsTargetsPrecheck.cmake
/usr/lib/cmake/Qt6Widgets/Qt6WidgetsVersionlessAliasTargets.cmake
/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsAdditionalTargetInfo.cmake
/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsConfig.cmake
/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsConfigVersion.cmake
/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsConfigVersionImpl.cmake
/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsDependencies.cmake
/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsTargets-relwithdebinfo.cmake
/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsTargets.cmake
/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsTargetsPrecheck.cmake
/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsVersionlessTargets.cmake
/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdarg.h
/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdbool.h
/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stddef.h
/usr/share/cmake/Modules/CMakeCXXInformation.cmake
/usr/share/cmake/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake
/usr/share/cmake/Modules/CMakeCommonLanguageInclude.cmake
/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake
/usr/share/cmake/Modules/CMakeGenericSystem.cmake
/usr/share/cmake/Modules/CMakeInitializeConfigs.cmake
/usr/share/cmake/Modules/CMakeLanguageInformation.cmake
/usr/share/cmake/Modules/CMakeSystemSpecificInformation.cmake
/usr/share/cmake/Modules/CMakeSystemSpecificInitialize.cmake
/usr/share/cmake/Modules/CheckCXXCompilerFlag.cmake
/usr/share/cmake/Modules/CheckCXXSourceCompiles.cmake
/usr/share/cmake/Modules/CheckIncludeFileCXX.cmake
/usr/share/cmake/Modules/CheckLibraryExists.cmake
/usr/share/cmake/Modules/Compiler/CMakeCommonCompilerMacros.cmake
/usr/share/cmake/Modules/Compiler/GNU-CXX.cmake
/usr/share/cmake/Modules/Compiler/GNU.cmake
/usr/share/cmake/Modules/FindOpenGL.cmake
/usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake
/usr/share/cmake/Modules/FindPackageMessage.cmake
/usr/share/cmake/Modules/FindThreads.cmake
/usr/share/cmake/Modules/FindVulkan.cmake
/usr/share/cmake/Modules/GNUInstallDirs.cmake
/usr/share/cmake/Modules/Internal/CMakeCXXLinkerInformation.cmake
/usr/share/cmake/Modules/Internal/CMakeCommonLinkerInformation.cmake
/usr/share/cmake/Modules/Internal/CheckCompilerFlag.cmake
/usr/share/cmake/Modules/Internal/CheckFlagCommonConfig.cmake
/usr/share/cmake/Modules/Internal/CheckSourceCompiles.cmake
/usr/share/cmake/Modules/Linker/GNU-CXX.cmake
/usr/share/cmake/Modules/Linker/GNU.cmake
/usr/share/cmake/Modules/MacroAddFileDependencies.cmake
/usr/share/cmake/Modules/Platform/Linker/GNU.cmake
/usr/share/cmake/Modules/Platform/Linker/Linux-GNU-CXX.cmake
/usr/share/cmake/Modules/Platform/Linker/Linux-GNU.cmake
/usr/share/cmake/Modules/Platform/Linux-GNU-CXX.cmake
/usr/share/cmake/Modules/Platform/Linux-GNU.cmake
/usr/share/cmake/Modules/Platform/Linux-Initialize.cmake
/usr/share/cmake/Modules/Platform/Linux.cmake
/usr/share/cmake/Modules/Platform/UnixPaths.cmake
@@ -0,0 +1,2 @@
# CMAKE generated file: DO NOT EDIT!
# Timestamp file for custom commands dependencies management for StreamHubQtClient_autogen.
@@ -0,0 +1,2 @@
CMAKE_PROGRESS_1 = 16
@@ -0,0 +1,22 @@
# Consider dependencies only in project.
set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
# The set of languages for which implicit dependencies are needed:
set(CMAKE_DEPENDS_LANGUAGES
)
# The set of dependency files which are needed:
set(CMAKE_DEPENDS_DEPENDENCY_FILES
)
# Targets to which this target links which contain Fortran sources.
set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES
)
# Targets to which this target links which contain Fortran sources.
set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES
)
# Fortran module output directory.
set(CMAKE_Fortran_TARGET_MODULE_DIR "")
@@ -0,0 +1,86 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 4.3
# Delete rule output on recipe failure.
.DELETE_ON_ERROR:
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Disable VCS-based implicit rules.
% : %,v
# Disable VCS-based implicit rules.
% : RCS/%
# Disable VCS-based implicit rules.
% : RCS/%,v
# Disable VCS-based implicit rules.
% : SCCS/s.%
# Disable VCS-based implicit rules.
% : s.%
.SUFFIXES: .hpux_make_needs_suffix_list
# Command-line flag to silence nested $(MAKE).
$(VERBOSE)MAKESILENT = -s
#Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /usr/bin/cmake
# The command to remove a file.
RM = /usr/bin/cmake -E rm -f
# Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build
# Utility rule file for StreamHubQtClient_autogen_timestamp_deps.
# Include any custom commands dependencies for this target.
include CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/compiler_depend.make
# Include the progress variables for this target.
include CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/progress.make
CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/codegen:
.PHONY : CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/codegen
StreamHubQtClient_autogen_timestamp_deps: CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/build.make
.PHONY : StreamHubQtClient_autogen_timestamp_deps
# Rule to build all files generated by this target.
CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/build: StreamHubQtClient_autogen_timestamp_deps
.PHONY : CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/build
CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/clean:
$(CMAKE_COMMAND) -P CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/cmake_clean.cmake
.PHONY : CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/clean
CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/depend:
cd /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/DependInfo.cmake "--color=$(COLOR)" StreamHubQtClient_autogen_timestamp_deps
.PHONY : CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/depend
@@ -0,0 +1,5 @@
# Per-language clean rules from dependency scanning.
foreach(lang )
include(CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/cmake_clean_${lang}.cmake OPTIONAL)
endforeach()
@@ -0,0 +1,2 @@
# Empty custom commands generated dependencies file for StreamHubQtClient_autogen_timestamp_deps.
# This may be replaced when dependencies are built.
@@ -0,0 +1,2 @@
# CMAKE generated file: DO NOT EDIT!
# Timestamp file for custom commands dependencies management for StreamHubQtClient_autogen_timestamp_deps.
@@ -0,0 +1,9 @@
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/StreamHubQtClient.dir
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/edit_cache.dir
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/rebuild_cache.dir
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/list_install_components.dir
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/install.dir
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/install/local.dir
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/install/strip.dir
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/StreamHubQtClient_autogen.dir
@@ -0,0 +1 @@
# This file is generated by cmake for dependency checking of the CMakeCache.txt file
@@ -0,0 +1 @@
16
+582
View File
@@ -0,0 +1,582 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 4.3
# Default target executed when no arguments are given to make.
default_target: all
.PHONY : default_target
# Allow only one "make -f Makefile2" at a time, but pass parallelism.
.NOTPARALLEL:
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Disable VCS-based implicit rules.
% : %,v
# Disable VCS-based implicit rules.
% : RCS/%
# Disable VCS-based implicit rules.
% : RCS/%,v
# Disable VCS-based implicit rules.
% : SCCS/s.%
# Disable VCS-based implicit rules.
% : s.%
.SUFFIXES: .hpux_make_needs_suffix_list
# Command-line flag to silence nested $(MAKE).
$(VERBOSE)MAKESILENT = -s
#Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /usr/bin/cmake
# The command to remove a file.
RM = /usr/bin/cmake -E rm -f
# Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build
#=============================================================================
# Targets provided globally by CMake.
# Special rule for the target edit_cache
edit_cache:
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake cache editor..."
/usr/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
.PHONY : edit_cache
# Special rule for the target edit_cache
edit_cache/fast: edit_cache
.PHONY : edit_cache/fast
# Special rule for the target rebuild_cache
rebuild_cache:
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..."
/usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
.PHONY : rebuild_cache
# Special rule for the target rebuild_cache
rebuild_cache/fast: rebuild_cache
.PHONY : rebuild_cache/fast
# Special rule for the target list_install_components
list_install_components:
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Available install components are: \"Unspecified\""
.PHONY : list_install_components
# Special rule for the target list_install_components
list_install_components/fast: list_install_components
.PHONY : list_install_components/fast
# Special rule for the target install
install: preinstall
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..."
/usr/bin/cmake -P cmake_install.cmake
.PHONY : install
# Special rule for the target install
install/fast: preinstall/fast
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..."
/usr/bin/cmake -P cmake_install.cmake
.PHONY : install/fast
# Special rule for the target install/local
install/local: preinstall
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..."
/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
.PHONY : install/local
# Special rule for the target install/local
install/local/fast: preinstall/fast
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..."
/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
.PHONY : install/local/fast
# Special rule for the target install/strip
install/strip: preinstall
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..."
/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
.PHONY : install/strip
# Special rule for the target install/strip
install/strip/fast: preinstall/fast
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..."
/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
.PHONY : install/strip/fast
# The main all target
all: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build//CMakeFiles/progress.marks
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all
$(CMAKE_COMMAND) -E cmake_progress_start /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles 0
.PHONY : all
# The main clean target
clean:
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 clean
.PHONY : clean
# The main clean target
clean/fast: clean
.PHONY : clean/fast
# Prepare targets for installation.
preinstall: all
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall
.PHONY : preinstall
# Prepare targets for installation.
preinstall/fast:
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall
.PHONY : preinstall/fast
# clear depends
depend:
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
.PHONY : depend
#=============================================================================
# Target rules for targets named StreamHubQtClient
# Build rule for target.
StreamHubQtClient: cmake_check_build_system
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 StreamHubQtClient
.PHONY : StreamHubQtClient
# fast build rule for target.
StreamHubQtClient/fast:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/build
.PHONY : StreamHubQtClient/fast
#=============================================================================
# Target rules for targets named StreamHubQtClient_autogen_timestamp_deps
# Build rule for target.
StreamHubQtClient_autogen_timestamp_deps: cmake_check_build_system
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 StreamHubQtClient_autogen_timestamp_deps
.PHONY : StreamHubQtClient_autogen_timestamp_deps
# fast build rule for target.
StreamHubQtClient_autogen_timestamp_deps/fast:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/build.make CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir/build
.PHONY : StreamHubQtClient_autogen_timestamp_deps/fast
#=============================================================================
# Target rules for targets named StreamHubQtClient_autogen
# Build rule for target.
StreamHubQtClient_autogen: cmake_check_build_system
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 StreamHubQtClient_autogen
.PHONY : StreamHubQtClient_autogen
# fast build rule for target.
StreamHubQtClient_autogen/fast:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient_autogen.dir/build.make CMakeFiles/StreamHubQtClient_autogen.dir/build
.PHONY : StreamHubQtClient_autogen/fast
HistoryBar.o: HistoryBar.cpp.o
.PHONY : HistoryBar.o
# target to build an object file
HistoryBar.cpp.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/HistoryBar.cpp.o
.PHONY : HistoryBar.cpp.o
HistoryBar.i: HistoryBar.cpp.i
.PHONY : HistoryBar.i
# target to preprocess a source file
HistoryBar.cpp.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/HistoryBar.cpp.i
.PHONY : HistoryBar.cpp.i
HistoryBar.s: HistoryBar.cpp.s
.PHONY : HistoryBar.s
# target to generate assembly for a file
HistoryBar.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/HistoryBar.cpp.s
.PHONY : HistoryBar.cpp.s
Hub.o: Hub.cpp.o
.PHONY : Hub.o
# target to build an object file
Hub.cpp.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/Hub.cpp.o
.PHONY : Hub.cpp.o
Hub.i: Hub.cpp.i
.PHONY : Hub.i
# target to preprocess a source file
Hub.cpp.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/Hub.cpp.i
.PHONY : Hub.cpp.i
Hub.s: Hub.cpp.s
.PHONY : Hub.s
# target to generate assembly for a file
Hub.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/Hub.cpp.s
.PHONY : Hub.cpp.s
MainWindow.o: MainWindow.cpp.o
.PHONY : MainWindow.o
# target to build an object file
MainWindow.cpp.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/MainWindow.cpp.o
.PHONY : MainWindow.cpp.o
MainWindow.i: MainWindow.cpp.i
.PHONY : MainWindow.i
# target to preprocess a source file
MainWindow.cpp.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/MainWindow.cpp.i
.PHONY : MainWindow.cpp.i
MainWindow.s: MainWindow.cpp.s
.PHONY : MainWindow.s
# target to generate assembly for a file
MainWindow.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/MainWindow.cpp.s
.PHONY : MainWindow.cpp.s
PlotGrid.o: PlotGrid.cpp.o
.PHONY : PlotGrid.o
# target to build an object file
PlotGrid.cpp.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/PlotGrid.cpp.o
.PHONY : PlotGrid.cpp.o
PlotGrid.i: PlotGrid.cpp.i
.PHONY : PlotGrid.i
# target to preprocess a source file
PlotGrid.cpp.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/PlotGrid.cpp.i
.PHONY : PlotGrid.cpp.i
PlotGrid.s: PlotGrid.cpp.s
.PHONY : PlotGrid.s
# target to generate assembly for a file
PlotGrid.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/PlotGrid.cpp.s
.PHONY : PlotGrid.cpp.s
PlotWidget.o: PlotWidget.cpp.o
.PHONY : PlotWidget.o
# target to build an object file
PlotWidget.cpp.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/PlotWidget.cpp.o
.PHONY : PlotWidget.cpp.o
PlotWidget.i: PlotWidget.cpp.i
.PHONY : PlotWidget.i
# target to preprocess a source file
PlotWidget.cpp.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/PlotWidget.cpp.i
.PHONY : PlotWidget.cpp.i
PlotWidget.s: PlotWidget.cpp.s
.PHONY : PlotWidget.s
# target to generate assembly for a file
PlotWidget.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/PlotWidget.cpp.s
.PHONY : PlotWidget.cpp.s
SourceSidebar.o: SourceSidebar.cpp.o
.PHONY : SourceSidebar.o
# target to build an object file
SourceSidebar.cpp.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/SourceSidebar.cpp.o
.PHONY : SourceSidebar.cpp.o
SourceSidebar.i: SourceSidebar.cpp.i
.PHONY : SourceSidebar.i
# target to preprocess a source file
SourceSidebar.cpp.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/SourceSidebar.cpp.i
.PHONY : SourceSidebar.cpp.i
SourceSidebar.s: SourceSidebar.cpp.s
.PHONY : SourceSidebar.s
# target to generate assembly for a file
SourceSidebar.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/SourceSidebar.cpp.s
.PHONY : SourceSidebar.cpp.s
StatsDialog.o: StatsDialog.cpp.o
.PHONY : StatsDialog.o
# target to build an object file
StatsDialog.cpp.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/StatsDialog.cpp.o
.PHONY : StatsDialog.cpp.o
StatsDialog.i: StatsDialog.cpp.i
.PHONY : StatsDialog.i
# target to preprocess a source file
StatsDialog.cpp.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/StatsDialog.cpp.i
.PHONY : StatsDialog.cpp.i
StatsDialog.s: StatsDialog.cpp.s
.PHONY : StatsDialog.s
# target to generate assembly for a file
StatsDialog.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/StatsDialog.cpp.s
.PHONY : StatsDialog.cpp.s
StreamHubQtClient_autogen/mocs_compilation.o: StreamHubQtClient_autogen/mocs_compilation.cpp.o
.PHONY : StreamHubQtClient_autogen/mocs_compilation.o
# target to build an object file
StreamHubQtClient_autogen/mocs_compilation.cpp.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/StreamHubQtClient_autogen/mocs_compilation.cpp.o
.PHONY : StreamHubQtClient_autogen/mocs_compilation.cpp.o
StreamHubQtClient_autogen/mocs_compilation.i: StreamHubQtClient_autogen/mocs_compilation.cpp.i
.PHONY : StreamHubQtClient_autogen/mocs_compilation.i
# target to preprocess a source file
StreamHubQtClient_autogen/mocs_compilation.cpp.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/StreamHubQtClient_autogen/mocs_compilation.cpp.i
.PHONY : StreamHubQtClient_autogen/mocs_compilation.cpp.i
StreamHubQtClient_autogen/mocs_compilation.s: StreamHubQtClient_autogen/mocs_compilation.cpp.s
.PHONY : StreamHubQtClient_autogen/mocs_compilation.s
# target to generate assembly for a file
StreamHubQtClient_autogen/mocs_compilation.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/StreamHubQtClient_autogen/mocs_compilation.cpp.s
.PHONY : StreamHubQtClient_autogen/mocs_compilation.cpp.s
Theme.o: Theme.cpp.o
.PHONY : Theme.o
# target to build an object file
Theme.cpp.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/Theme.cpp.o
.PHONY : Theme.cpp.o
Theme.i: Theme.cpp.i
.PHONY : Theme.i
# target to preprocess a source file
Theme.cpp.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/Theme.cpp.i
.PHONY : Theme.cpp.i
Theme.s: Theme.cpp.s
.PHONY : Theme.s
# target to generate assembly for a file
Theme.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/Theme.cpp.s
.PHONY : Theme.cpp.s
TriggerBar.o: TriggerBar.cpp.o
.PHONY : TriggerBar.o
# target to build an object file
TriggerBar.cpp.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/TriggerBar.cpp.o
.PHONY : TriggerBar.cpp.o
TriggerBar.i: TriggerBar.cpp.i
.PHONY : TriggerBar.i
# target to preprocess a source file
TriggerBar.cpp.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/TriggerBar.cpp.i
.PHONY : TriggerBar.cpp.i
TriggerBar.s: TriggerBar.cpp.s
.PHONY : TriggerBar.s
# target to generate assembly for a file
TriggerBar.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/TriggerBar.cpp.s
.PHONY : TriggerBar.cpp.s
WsClient.o: WsClient.cpp.o
.PHONY : WsClient.o
# target to build an object file
WsClient.cpp.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/WsClient.cpp.o
.PHONY : WsClient.cpp.o
WsClient.i: WsClient.cpp.i
.PHONY : WsClient.i
# target to preprocess a source file
WsClient.cpp.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/WsClient.cpp.i
.PHONY : WsClient.cpp.i
WsClient.s: WsClient.cpp.s
.PHONY : WsClient.s
# target to generate assembly for a file
WsClient.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/WsClient.cpp.s
.PHONY : WsClient.cpp.s
home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.o: home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.o
.PHONY : home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.o
# target to build an object file
home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.o
.PHONY : home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.o
home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.i: home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.i
.PHONY : home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.i
# target to preprocess a source file
home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.i
.PHONY : home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.i
home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.s: home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.s
.PHONY : home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.s
# target to generate assembly for a file
home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.s
.PHONY : home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.s
main.o: main.cpp.o
.PHONY : main.o
# target to build an object file
main.cpp.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/main.cpp.o
.PHONY : main.cpp.o
main.i: main.cpp.i
.PHONY : main.i
# target to preprocess a source file
main.cpp.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/main.cpp.i
.PHONY : main.cpp.i
main.s: main.cpp.s
.PHONY : main.s
# target to generate assembly for a file
main.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/main.cpp.s
.PHONY : main.cpp.s
# Help Target
help:
@echo "The following are some of the valid targets for this Makefile:"
@echo "... all (the default if no target is provided)"
@echo "... clean"
@echo "... depend"
@echo "... edit_cache"
@echo "... install"
@echo "... install/local"
@echo "... install/strip"
@echo "... list_install_components"
@echo "... rebuild_cache"
@echo "... StreamHubQtClient_autogen"
@echo "... StreamHubQtClient_autogen_timestamp_deps"
@echo "... StreamHubQtClient"
@echo "... HistoryBar.o"
@echo "... HistoryBar.i"
@echo "... HistoryBar.s"
@echo "... Hub.o"
@echo "... Hub.i"
@echo "... Hub.s"
@echo "... MainWindow.o"
@echo "... MainWindow.i"
@echo "... MainWindow.s"
@echo "... PlotGrid.o"
@echo "... PlotGrid.i"
@echo "... PlotGrid.s"
@echo "... PlotWidget.o"
@echo "... PlotWidget.i"
@echo "... PlotWidget.s"
@echo "... SourceSidebar.o"
@echo "... SourceSidebar.i"
@echo "... SourceSidebar.s"
@echo "... StatsDialog.o"
@echo "... StatsDialog.i"
@echo "... StatsDialog.s"
@echo "... StreamHubQtClient_autogen/mocs_compilation.o"
@echo "... StreamHubQtClient_autogen/mocs_compilation.i"
@echo "... StreamHubQtClient_autogen/mocs_compilation.s"
@echo "... Theme.o"
@echo "... Theme.i"
@echo "... Theme.s"
@echo "... TriggerBar.o"
@echo "... TriggerBar.i"
@echo "... TriggerBar.s"
@echo "... WsClient.o"
@echo "... WsClient.i"
@echo "... WsClient.s"
@echo "... home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.o"
@echo "... home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.i"
@echo "... home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.s"
@echo "... main.o"
@echo "... main.i"
@echo "... main.s"
.PHONY : help
#=============================================================================
# Special targets to cleanup operation of make.
# Special rule to run CMake to check the build system integrity.
# No rule that depends on this can have commands that come from listfiles
# because they might be regenerated.
cmake_check_build_system:
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
.PHONY : cmake_check_build_system
Binary file not shown.
@@ -0,0 +1,126 @@
/****************************************************************************
** Meta object code from reading C++ file 'HistoryBar.h'
**
** Created by: The Qt Meta Object Compiler version 69 (Qt 6.11.1)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "../../../HistoryBar.h"
#include <QtCore/qmetatype.h>
#include <QtCore/qtmochelpers.h>
#include <memory>
#include <QtCore/qxptype_traits.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'HistoryBar.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 69
#error "This file was generated using the moc from 6.11.1. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
#ifndef Q_CONSTINIT
#define Q_CONSTINIT
#endif
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
QT_WARNING_DISABLE_GCC("-Wuseless-cast")
namespace {
struct qt_meta_tag_ZN3shq10HistoryBarE_t {};
} // unnamed namespace
template <> constexpr inline auto shq::HistoryBar::qt_create_metaobjectdata<qt_meta_tag_ZN3shq10HistoryBarE_t>()
{
namespace QMC = QtMocConstants;
QtMocHelpers::StringRefStorage qt_stringData {
"shq::HistoryBar",
"liveRequested",
"",
"updateReadout",
"showAll"
};
QtMocHelpers::UintData qt_methods {
// Signal 'liveRequested'
QtMocHelpers::SignalData<void()>(1, 2, QMC::AccessPublic, QMetaType::Void),
// Slot 'updateReadout'
QtMocHelpers::SlotData<void()>(3, 2, QMC::AccessPublic, QMetaType::Void),
// Slot 'showAll'
QtMocHelpers::SlotData<void()>(4, 2, QMC::AccessPublic, QMetaType::Void),
};
QtMocHelpers::UintData qt_properties {
};
QtMocHelpers::UintData qt_enums {
};
return QtMocHelpers::metaObjectData<HistoryBar, qt_meta_tag_ZN3shq10HistoryBarE_t>(QMC::MetaObjectFlag{}, qt_stringData,
qt_methods, qt_properties, qt_enums);
}
Q_CONSTINIT const QMetaObject shq::HistoryBar::staticMetaObject = { {
QMetaObject::SuperData::link<QWidget::staticMetaObject>(),
qt_staticMetaObjectStaticContent<qt_meta_tag_ZN3shq10HistoryBarE_t>.stringdata,
qt_staticMetaObjectStaticContent<qt_meta_tag_ZN3shq10HistoryBarE_t>.data,
qt_static_metacall,
nullptr,
qt_staticMetaObjectRelocatingContent<qt_meta_tag_ZN3shq10HistoryBarE_t>.metaTypes,
nullptr
} };
void shq::HistoryBar::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
auto *_t = static_cast<HistoryBar *>(_o);
if (_c == QMetaObject::InvokeMetaMethod) {
switch (_id) {
case 0: _t->liveRequested(); break;
case 1: _t->updateReadout(); break;
case 2: _t->showAll(); break;
default: ;
}
}
if (_c == QMetaObject::IndexOfMethod) {
if (QtMocHelpers::indexOfMethod<void (HistoryBar::*)()>(_a, &HistoryBar::liveRequested, 0))
return;
}
}
const QMetaObject *shq::HistoryBar::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *shq::HistoryBar::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_staticMetaObjectStaticContent<qt_meta_tag_ZN3shq10HistoryBarE_t>.strings))
return static_cast<void*>(this);
return QWidget::qt_metacast(_clname);
}
int shq::HistoryBar::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QWidget::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 3)
qt_static_metacall(this, _c, _id, _a);
_id -= 3;
}
if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 3)
*reinterpret_cast<QMetaType *>(_a[0]) = QMetaType();
_id -= 3;
}
return _id;
}
// SIGNAL 0
void shq::HistoryBar::liveRequested()
{
QMetaObject::activate(this, &staticMetaObject, 0, nullptr);
}
QT_WARNING_POP
@@ -0,0 +1,261 @@
/****************************************************************************
** Meta object code from reading C++ file 'Hub.h'
**
** Created by: The Qt Meta Object Compiler version 69 (Qt 6.11.1)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "../../../Hub.h"
#include <QtCore/qmetatype.h>
#include <QtCore/qtmochelpers.h>
#include <memory>
#include <QtCore/qxptype_traits.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'Hub.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 69
#error "This file was generated using the moc from 6.11.1. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
#ifndef Q_CONSTINIT
#define Q_CONSTINIT
#endif
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
QT_WARNING_DISABLE_GCC("-Wuseless-cast")
namespace {
struct qt_meta_tag_ZN3shq3HubE_t {};
} // unnamed namespace
template <> constexpr inline auto shq::Hub::qt_create_metaobjectdata<qt_meta_tag_ZN3shq3HubE_t>()
{
namespace QMC = QtMocConstants;
QtMocHelpers::StringRefStorage qt_stringData {
"shq::Hub",
"connectedChanged",
"",
"connected",
"sourcesChanged",
"configChanged",
"sourceId",
"statsChanged",
"triggerStateChanged",
"captureReceived",
"zoomReceived",
"plotIdx",
"historyZoomReceived",
"historyInfoChanged",
"maxPointsChanged",
"uint32_t",
"n",
"onConnected",
"onText",
"json",
"onBinary",
"data"
};
QtMocHelpers::UintData qt_methods {
// Signal 'connectedChanged'
QtMocHelpers::SignalData<void(bool)>(1, 2, QMC::AccessPublic, QMetaType::Void, {{
{ QMetaType::Bool, 3 },
}}),
// Signal 'sourcesChanged'
QtMocHelpers::SignalData<void()>(4, 2, QMC::AccessPublic, QMetaType::Void),
// Signal 'configChanged'
QtMocHelpers::SignalData<void(const QString &)>(5, 2, QMC::AccessPublic, QMetaType::Void, {{
{ QMetaType::QString, 6 },
}}),
// Signal 'statsChanged'
QtMocHelpers::SignalData<void()>(7, 2, QMC::AccessPublic, QMetaType::Void),
// Signal 'triggerStateChanged'
QtMocHelpers::SignalData<void()>(8, 2, QMC::AccessPublic, QMetaType::Void),
// Signal 'captureReceived'
QtMocHelpers::SignalData<void()>(9, 2, QMC::AccessPublic, QMetaType::Void),
// Signal 'zoomReceived'
QtMocHelpers::SignalData<void(int)>(10, 2, QMC::AccessPublic, QMetaType::Void, {{
{ QMetaType::Int, 11 },
}}),
// Signal 'historyZoomReceived'
QtMocHelpers::SignalData<void(int)>(12, 2, QMC::AccessPublic, QMetaType::Void, {{
{ QMetaType::Int, 11 },
}}),
// Signal 'historyInfoChanged'
QtMocHelpers::SignalData<void()>(13, 2, QMC::AccessPublic, QMetaType::Void),
// Signal 'maxPointsChanged'
QtMocHelpers::SignalData<void(uint32_t)>(14, 2, QMC::AccessPublic, QMetaType::Void, {{
{ 0x80000000 | 15, 16 },
}}),
// Slot 'onConnected'
QtMocHelpers::SlotData<void(bool)>(17, 2, QMC::AccessPrivate, QMetaType::Void, {{
{ QMetaType::Bool, 3 },
}}),
// Slot 'onText'
QtMocHelpers::SlotData<void(const QString &)>(18, 2, QMC::AccessPrivate, QMetaType::Void, {{
{ QMetaType::QString, 19 },
}}),
// Slot 'onBinary'
QtMocHelpers::SlotData<void(const QByteArray &)>(20, 2, QMC::AccessPrivate, QMetaType::Void, {{
{ QMetaType::QByteArray, 21 },
}}),
};
QtMocHelpers::UintData qt_properties {
};
QtMocHelpers::UintData qt_enums {
};
return QtMocHelpers::metaObjectData<Hub, qt_meta_tag_ZN3shq3HubE_t>(QMC::MetaObjectFlag{}, qt_stringData,
qt_methods, qt_properties, qt_enums);
}
Q_CONSTINIT const QMetaObject shq::Hub::staticMetaObject = { {
QMetaObject::SuperData::link<QObject::staticMetaObject>(),
qt_staticMetaObjectStaticContent<qt_meta_tag_ZN3shq3HubE_t>.stringdata,
qt_staticMetaObjectStaticContent<qt_meta_tag_ZN3shq3HubE_t>.data,
qt_static_metacall,
nullptr,
qt_staticMetaObjectRelocatingContent<qt_meta_tag_ZN3shq3HubE_t>.metaTypes,
nullptr
} };
void shq::Hub::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
auto *_t = static_cast<Hub *>(_o);
if (_c == QMetaObject::InvokeMetaMethod) {
switch (_id) {
case 0: _t->connectedChanged((*reinterpret_cast<std::add_pointer_t<bool>>(_a[1]))); break;
case 1: _t->sourcesChanged(); break;
case 2: _t->configChanged((*reinterpret_cast<std::add_pointer_t<QString>>(_a[1]))); break;
case 3: _t->statsChanged(); break;
case 4: _t->triggerStateChanged(); break;
case 5: _t->captureReceived(); break;
case 6: _t->zoomReceived((*reinterpret_cast<std::add_pointer_t<int>>(_a[1]))); break;
case 7: _t->historyZoomReceived((*reinterpret_cast<std::add_pointer_t<int>>(_a[1]))); break;
case 8: _t->historyInfoChanged(); break;
case 9: _t->maxPointsChanged((*reinterpret_cast<std::add_pointer_t<uint32_t>>(_a[1]))); break;
case 10: _t->onConnected((*reinterpret_cast<std::add_pointer_t<bool>>(_a[1]))); break;
case 11: _t->onText((*reinterpret_cast<std::add_pointer_t<QString>>(_a[1]))); break;
case 12: _t->onBinary((*reinterpret_cast<std::add_pointer_t<QByteArray>>(_a[1]))); break;
default: ;
}
}
if (_c == QMetaObject::IndexOfMethod) {
if (QtMocHelpers::indexOfMethod<void (Hub::*)(bool )>(_a, &Hub::connectedChanged, 0))
return;
if (QtMocHelpers::indexOfMethod<void (Hub::*)()>(_a, &Hub::sourcesChanged, 1))
return;
if (QtMocHelpers::indexOfMethod<void (Hub::*)(const QString & )>(_a, &Hub::configChanged, 2))
return;
if (QtMocHelpers::indexOfMethod<void (Hub::*)()>(_a, &Hub::statsChanged, 3))
return;
if (QtMocHelpers::indexOfMethod<void (Hub::*)()>(_a, &Hub::triggerStateChanged, 4))
return;
if (QtMocHelpers::indexOfMethod<void (Hub::*)()>(_a, &Hub::captureReceived, 5))
return;
if (QtMocHelpers::indexOfMethod<void (Hub::*)(int )>(_a, &Hub::zoomReceived, 6))
return;
if (QtMocHelpers::indexOfMethod<void (Hub::*)(int )>(_a, &Hub::historyZoomReceived, 7))
return;
if (QtMocHelpers::indexOfMethod<void (Hub::*)()>(_a, &Hub::historyInfoChanged, 8))
return;
if (QtMocHelpers::indexOfMethod<void (Hub::*)(uint32_t )>(_a, &Hub::maxPointsChanged, 9))
return;
}
}
const QMetaObject *shq::Hub::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *shq::Hub::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_staticMetaObjectStaticContent<qt_meta_tag_ZN3shq3HubE_t>.strings))
return static_cast<void*>(this);
return QObject::qt_metacast(_clname);
}
int shq::Hub::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QObject::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 13)
qt_static_metacall(this, _c, _id, _a);
_id -= 13;
}
if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 13)
*reinterpret_cast<QMetaType *>(_a[0]) = QMetaType();
_id -= 13;
}
return _id;
}
// SIGNAL 0
void shq::Hub::connectedChanged(bool _t1)
{
QMetaObject::activate<void>(this, &staticMetaObject, 0, nullptr, _t1);
}
// SIGNAL 1
void shq::Hub::sourcesChanged()
{
QMetaObject::activate(this, &staticMetaObject, 1, nullptr);
}
// SIGNAL 2
void shq::Hub::configChanged(const QString & _t1)
{
QMetaObject::activate<void>(this, &staticMetaObject, 2, nullptr, _t1);
}
// SIGNAL 3
void shq::Hub::statsChanged()
{
QMetaObject::activate(this, &staticMetaObject, 3, nullptr);
}
// SIGNAL 4
void shq::Hub::triggerStateChanged()
{
QMetaObject::activate(this, &staticMetaObject, 4, nullptr);
}
// SIGNAL 5
void shq::Hub::captureReceived()
{
QMetaObject::activate(this, &staticMetaObject, 5, nullptr);
}
// SIGNAL 6
void shq::Hub::zoomReceived(int _t1)
{
QMetaObject::activate<void>(this, &staticMetaObject, 6, nullptr, _t1);
}
// SIGNAL 7
void shq::Hub::historyZoomReceived(int _t1)
{
QMetaObject::activate<void>(this, &staticMetaObject, 7, nullptr, _t1);
}
// SIGNAL 8
void shq::Hub::historyInfoChanged()
{
QMetaObject::activate(this, &staticMetaObject, 8, nullptr);
}
// SIGNAL 9
void shq::Hub::maxPointsChanged(uint32_t _t1)
{
QMetaObject::activate<void>(this, &staticMetaObject, 9, nullptr, _t1);
}
QT_WARNING_POP
@@ -0,0 +1,154 @@
/****************************************************************************
** Meta object code from reading C++ file 'MainWindow.h'
**
** Created by: The Qt Meta Object Compiler version 69 (Qt 6.11.1)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "../../../MainWindow.h"
#include <QtCore/qmetatype.h>
#include <QtCore/qtmochelpers.h>
#include <memory>
#include <QtCore/qxptype_traits.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'MainWindow.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 69
#error "This file was generated using the moc from 6.11.1. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
#ifndef Q_CONSTINIT
#define Q_CONSTINIT
#endif
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
QT_WARNING_DISABLE_GCC("-Wuseless-cast")
namespace {
struct qt_meta_tag_ZN3shq10MainWindowE_t {};
} // unnamed namespace
template <> constexpr inline auto shq::MainWindow::qt_create_metaobjectdata<qt_meta_tag_ZN3shq10MainWindowE_t>()
{
namespace QMC = QtMocConstants;
QtMocHelpers::StringRefStorage qt_stringData {
"shq::MainWindow",
"onConnectedChanged",
"",
"connected",
"onSourcesChanged",
"onConfigChanged",
"sourceId",
"onStatsChanged",
"onTriggerStateChanged",
"onHistoryInfoChanged",
"onTick",
"togglePause",
"toggleHistory",
"openAddSourceDialog",
"doConnect"
};
QtMocHelpers::UintData qt_methods {
// Slot 'onConnectedChanged'
QtMocHelpers::SlotData<void(bool)>(1, 2, QMC::AccessPrivate, QMetaType::Void, {{
{ QMetaType::Bool, 3 },
}}),
// Slot 'onSourcesChanged'
QtMocHelpers::SlotData<void()>(4, 2, QMC::AccessPrivate, QMetaType::Void),
// Slot 'onConfigChanged'
QtMocHelpers::SlotData<void(const QString &)>(5, 2, QMC::AccessPrivate, QMetaType::Void, {{
{ QMetaType::QString, 6 },
}}),
// Slot 'onStatsChanged'
QtMocHelpers::SlotData<void()>(7, 2, QMC::AccessPrivate, QMetaType::Void),
// Slot 'onTriggerStateChanged'
QtMocHelpers::SlotData<void()>(8, 2, QMC::AccessPrivate, QMetaType::Void),
// Slot 'onHistoryInfoChanged'
QtMocHelpers::SlotData<void()>(9, 2, QMC::AccessPrivate, QMetaType::Void),
// Slot 'onTick'
QtMocHelpers::SlotData<void()>(10, 2, QMC::AccessPrivate, QMetaType::Void),
// Slot 'togglePause'
QtMocHelpers::SlotData<void()>(11, 2, QMC::AccessPrivate, QMetaType::Void),
// Slot 'toggleHistory'
QtMocHelpers::SlotData<void()>(12, 2, QMC::AccessPrivate, QMetaType::Void),
// Slot 'openAddSourceDialog'
QtMocHelpers::SlotData<void()>(13, 2, QMC::AccessPrivate, QMetaType::Void),
// Slot 'doConnect'
QtMocHelpers::SlotData<void()>(14, 2, QMC::AccessPrivate, QMetaType::Void),
};
QtMocHelpers::UintData qt_properties {
};
QtMocHelpers::UintData qt_enums {
};
return QtMocHelpers::metaObjectData<MainWindow, qt_meta_tag_ZN3shq10MainWindowE_t>(QMC::MetaObjectFlag{}, qt_stringData,
qt_methods, qt_properties, qt_enums);
}
Q_CONSTINIT const QMetaObject shq::MainWindow::staticMetaObject = { {
QMetaObject::SuperData::link<QMainWindow::staticMetaObject>(),
qt_staticMetaObjectStaticContent<qt_meta_tag_ZN3shq10MainWindowE_t>.stringdata,
qt_staticMetaObjectStaticContent<qt_meta_tag_ZN3shq10MainWindowE_t>.data,
qt_static_metacall,
nullptr,
qt_staticMetaObjectRelocatingContent<qt_meta_tag_ZN3shq10MainWindowE_t>.metaTypes,
nullptr
} };
void shq::MainWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
auto *_t = static_cast<MainWindow *>(_o);
if (_c == QMetaObject::InvokeMetaMethod) {
switch (_id) {
case 0: _t->onConnectedChanged((*reinterpret_cast<std::add_pointer_t<bool>>(_a[1]))); break;
case 1: _t->onSourcesChanged(); break;
case 2: _t->onConfigChanged((*reinterpret_cast<std::add_pointer_t<QString>>(_a[1]))); break;
case 3: _t->onStatsChanged(); break;
case 4: _t->onTriggerStateChanged(); break;
case 5: _t->onHistoryInfoChanged(); break;
case 6: _t->onTick(); break;
case 7: _t->togglePause(); break;
case 8: _t->toggleHistory(); break;
case 9: _t->openAddSourceDialog(); break;
case 10: _t->doConnect(); break;
default: ;
}
}
}
const QMetaObject *shq::MainWindow::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *shq::MainWindow::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_staticMetaObjectStaticContent<qt_meta_tag_ZN3shq10MainWindowE_t>.strings))
return static_cast<void*>(this);
return QMainWindow::qt_metacast(_clname);
}
int shq::MainWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QMainWindow::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 11)
qt_static_metacall(this, _c, _id, _a);
_id -= 11;
}
if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 11)
*reinterpret_cast<QMetaType *>(_a[0]) = QMetaType();
_id -= 11;
}
return _id;
}
QT_WARNING_POP
@@ -0,0 +1,155 @@
/****************************************************************************
** Meta object code from reading C++ file 'PlotGrid.h'
**
** Created by: The Qt Meta Object Compiler version 69 (Qt 6.11.1)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "../../../PlotGrid.h"
#include <QtCore/qmetatype.h>
#include <QtCore/qtmochelpers.h>
#include <memory>
#include <QtCore/qxptype_traits.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'PlotGrid.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 69
#error "This file was generated using the moc from 6.11.1. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
#ifndef Q_CONSTINIT
#define Q_CONSTINIT
#endif
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
QT_WARNING_DISABLE_GCC("-Wuseless-cast")
namespace {
struct qt_meta_tag_ZN3shq8PlotGridE_t {};
} // unnamed namespace
template <> constexpr inline auto shq::PlotGrid::qt_create_metaobjectdata<qt_meta_tag_ZN3shq8PlotGridE_t>()
{
namespace QMC = QtMocConstants;
QtMocHelpers::StringRefStorage qt_stringData {
"shq::PlotGrid",
"onModelChanged",
"",
"onPauseChanged",
"tick",
"goLive",
"setAllStoredX",
"t0",
"t1",
"panAll",
"frac",
"jumpAllAgo",
"secAgo",
"anyNonLive",
"currentRange",
"double&"
};
QtMocHelpers::UintData qt_methods {
// Slot 'onModelChanged'
QtMocHelpers::SlotData<void()>(1, 2, QMC::AccessPublic, QMetaType::Void),
// Slot 'onPauseChanged'
QtMocHelpers::SlotData<void()>(3, 2, QMC::AccessPublic, QMetaType::Void),
// Slot 'tick'
QtMocHelpers::SlotData<void()>(4, 2, QMC::AccessPublic, QMetaType::Void),
// Slot 'goLive'
QtMocHelpers::SlotData<void()>(5, 2, QMC::AccessPublic, QMetaType::Void),
// Slot 'setAllStoredX'
QtMocHelpers::SlotData<void(double, double)>(6, 2, QMC::AccessPublic, QMetaType::Void, {{
{ QMetaType::Double, 7 }, { QMetaType::Double, 8 },
}}),
// Slot 'panAll'
QtMocHelpers::SlotData<void(double)>(9, 2, QMC::AccessPublic, QMetaType::Void, {{
{ QMetaType::Double, 10 },
}}),
// Slot 'jumpAllAgo'
QtMocHelpers::SlotData<void(double)>(11, 2, QMC::AccessPublic, QMetaType::Void, {{
{ QMetaType::Double, 12 },
}}),
// Slot 'anyNonLive'
QtMocHelpers::SlotData<bool() const>(13, 2, QMC::AccessPublic, QMetaType::Bool),
// Slot 'currentRange'
QtMocHelpers::SlotData<bool(double &, double &) const>(14, 2, QMC::AccessPublic, QMetaType::Bool, {{
{ 0x80000000 | 15, 7 }, { 0x80000000 | 15, 8 },
}}),
};
QtMocHelpers::UintData qt_properties {
};
QtMocHelpers::UintData qt_enums {
};
return QtMocHelpers::metaObjectData<PlotGrid, qt_meta_tag_ZN3shq8PlotGridE_t>(QMC::MetaObjectFlag{}, qt_stringData,
qt_methods, qt_properties, qt_enums);
}
Q_CONSTINIT const QMetaObject shq::PlotGrid::staticMetaObject = { {
QMetaObject::SuperData::link<QWidget::staticMetaObject>(),
qt_staticMetaObjectStaticContent<qt_meta_tag_ZN3shq8PlotGridE_t>.stringdata,
qt_staticMetaObjectStaticContent<qt_meta_tag_ZN3shq8PlotGridE_t>.data,
qt_static_metacall,
nullptr,
qt_staticMetaObjectRelocatingContent<qt_meta_tag_ZN3shq8PlotGridE_t>.metaTypes,
nullptr
} };
void shq::PlotGrid::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
auto *_t = static_cast<PlotGrid *>(_o);
if (_c == QMetaObject::InvokeMetaMethod) {
switch (_id) {
case 0: _t->onModelChanged(); break;
case 1: _t->onPauseChanged(); break;
case 2: _t->tick(); break;
case 3: _t->goLive(); break;
case 4: _t->setAllStoredX((*reinterpret_cast<std::add_pointer_t<double>>(_a[1])),(*reinterpret_cast<std::add_pointer_t<double>>(_a[2]))); break;
case 5: _t->panAll((*reinterpret_cast<std::add_pointer_t<double>>(_a[1]))); break;
case 6: _t->jumpAllAgo((*reinterpret_cast<std::add_pointer_t<double>>(_a[1]))); break;
case 7: { bool _r = _t->anyNonLive();
if (_a[0]) *reinterpret_cast<bool*>(_a[0]) = std::move(_r); } break;
case 8: { bool _r = _t->currentRange((*reinterpret_cast<std::add_pointer_t<double&>>(_a[1])),(*reinterpret_cast<std::add_pointer_t<double&>>(_a[2])));
if (_a[0]) *reinterpret_cast<bool*>(_a[0]) = std::move(_r); } break;
default: ;
}
}
}
const QMetaObject *shq::PlotGrid::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *shq::PlotGrid::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_staticMetaObjectStaticContent<qt_meta_tag_ZN3shq8PlotGridE_t>.strings))
return static_cast<void*>(this);
return QWidget::qt_metacast(_clname);
}
int shq::PlotGrid::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QWidget::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 9)
qt_static_metacall(this, _c, _id, _a);
_id -= 9;
}
if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 9)
*reinterpret_cast<QMetaType *>(_a[0]) = QMetaType();
_id -= 9;
}
return _id;
}
QT_WARNING_POP
@@ -0,0 +1,125 @@
/****************************************************************************
** Meta object code from reading C++ file 'PlotWidget.h'
**
** Created by: The Qt Meta Object Compiler version 69 (Qt 6.11.1)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "../../../PlotWidget.h"
#include <QtCore/qmetatype.h>
#include <QtCore/qtmochelpers.h>
#include <memory>
#include <QtCore/qxptype_traits.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'PlotWidget.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 69
#error "This file was generated using the moc from 6.11.1. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
#ifndef Q_CONSTINIT
#define Q_CONSTINIT
#endif
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
QT_WARNING_DISABLE_GCC("-Wuseless-cast")
namespace {
struct qt_meta_tag_ZN3shq10PlotWidgetE_t {};
} // unnamed namespace
template <> constexpr inline auto shq::PlotWidget::qt_create_metaobjectdata<qt_meta_tag_ZN3shq10PlotWidgetE_t>()
{
namespace QMC = QtMocConstants;
QtMocHelpers::StringRefStorage qt_stringData {
"shq::PlotWidget",
"onZoomReceived",
"",
"plotIdx",
"onHistoryZoomReceived",
"onCaptureReceived",
"tick"
};
QtMocHelpers::UintData qt_methods {
// Slot 'onZoomReceived'
QtMocHelpers::SlotData<void(int)>(1, 2, QMC::AccessPublic, QMetaType::Void, {{
{ QMetaType::Int, 3 },
}}),
// Slot 'onHistoryZoomReceived'
QtMocHelpers::SlotData<void(int)>(4, 2, QMC::AccessPublic, QMetaType::Void, {{
{ QMetaType::Int, 3 },
}}),
// Slot 'onCaptureReceived'
QtMocHelpers::SlotData<void()>(5, 2, QMC::AccessPublic, QMetaType::Void),
// Slot 'tick'
QtMocHelpers::SlotData<void()>(6, 2, QMC::AccessPublic, QMetaType::Void),
};
QtMocHelpers::UintData qt_properties {
};
QtMocHelpers::UintData qt_enums {
};
return QtMocHelpers::metaObjectData<PlotWidget, qt_meta_tag_ZN3shq10PlotWidgetE_t>(QMC::MetaObjectFlag{}, qt_stringData,
qt_methods, qt_properties, qt_enums);
}
Q_CONSTINIT const QMetaObject shq::PlotWidget::staticMetaObject = { {
QMetaObject::SuperData::link<QWidget::staticMetaObject>(),
qt_staticMetaObjectStaticContent<qt_meta_tag_ZN3shq10PlotWidgetE_t>.stringdata,
qt_staticMetaObjectStaticContent<qt_meta_tag_ZN3shq10PlotWidgetE_t>.data,
qt_static_metacall,
nullptr,
qt_staticMetaObjectRelocatingContent<qt_meta_tag_ZN3shq10PlotWidgetE_t>.metaTypes,
nullptr
} };
void shq::PlotWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
auto *_t = static_cast<PlotWidget *>(_o);
if (_c == QMetaObject::InvokeMetaMethod) {
switch (_id) {
case 0: _t->onZoomReceived((*reinterpret_cast<std::add_pointer_t<int>>(_a[1]))); break;
case 1: _t->onHistoryZoomReceived((*reinterpret_cast<std::add_pointer_t<int>>(_a[1]))); break;
case 2: _t->onCaptureReceived(); break;
case 3: _t->tick(); break;
default: ;
}
}
}
const QMetaObject *shq::PlotWidget::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *shq::PlotWidget::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_staticMetaObjectStaticContent<qt_meta_tag_ZN3shq10PlotWidgetE_t>.strings))
return static_cast<void*>(this);
return QWidget::qt_metacast(_clname);
}
int shq::PlotWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QWidget::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 4)
qt_static_metacall(this, _c, _id, _a);
_id -= 4;
}
if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 4)
*reinterpret_cast<QMetaType *>(_a[0]) = QMetaType();
_id -= 4;
}
return _id;
}
QT_WARNING_POP
@@ -0,0 +1,122 @@
/****************************************************************************
** Meta object code from reading C++ file 'SourceSidebar.h'
**
** Created by: The Qt Meta Object Compiler version 69 (Qt 6.11.1)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "../../../SourceSidebar.h"
#include <QtCore/qmetatype.h>
#include <QtCore/qtmochelpers.h>
#include <memory>
#include <QtCore/qxptype_traits.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'SourceSidebar.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 69
#error "This file was generated using the moc from 6.11.1. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
#ifndef Q_CONSTINIT
#define Q_CONSTINIT
#endif
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
QT_WARNING_DISABLE_GCC("-Wuseless-cast")
namespace {
struct qt_meta_tag_ZN3shq13SourceSidebarE_t {};
} // unnamed namespace
template <> constexpr inline auto shq::SourceSidebar::qt_create_metaobjectdata<qt_meta_tag_ZN3shq13SourceSidebarE_t>()
{
namespace QMC = QtMocConstants;
QtMocHelpers::StringRefStorage qt_stringData {
"shq::SourceSidebar",
"addSourceRequested",
"",
"refresh"
};
QtMocHelpers::UintData qt_methods {
// Signal 'addSourceRequested'
QtMocHelpers::SignalData<void()>(1, 2, QMC::AccessPublic, QMetaType::Void),
// Slot 'refresh'
QtMocHelpers::SlotData<void()>(3, 2, QMC::AccessPublic, QMetaType::Void),
};
QtMocHelpers::UintData qt_properties {
};
QtMocHelpers::UintData qt_enums {
};
return QtMocHelpers::metaObjectData<SourceSidebar, qt_meta_tag_ZN3shq13SourceSidebarE_t>(QMC::MetaObjectFlag{}, qt_stringData,
qt_methods, qt_properties, qt_enums);
}
Q_CONSTINIT const QMetaObject shq::SourceSidebar::staticMetaObject = { {
QMetaObject::SuperData::link<QWidget::staticMetaObject>(),
qt_staticMetaObjectStaticContent<qt_meta_tag_ZN3shq13SourceSidebarE_t>.stringdata,
qt_staticMetaObjectStaticContent<qt_meta_tag_ZN3shq13SourceSidebarE_t>.data,
qt_static_metacall,
nullptr,
qt_staticMetaObjectRelocatingContent<qt_meta_tag_ZN3shq13SourceSidebarE_t>.metaTypes,
nullptr
} };
void shq::SourceSidebar::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
auto *_t = static_cast<SourceSidebar *>(_o);
if (_c == QMetaObject::InvokeMetaMethod) {
switch (_id) {
case 0: _t->addSourceRequested(); break;
case 1: _t->refresh(); break;
default: ;
}
}
if (_c == QMetaObject::IndexOfMethod) {
if (QtMocHelpers::indexOfMethod<void (SourceSidebar::*)()>(_a, &SourceSidebar::addSourceRequested, 0))
return;
}
}
const QMetaObject *shq::SourceSidebar::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *shq::SourceSidebar::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_staticMetaObjectStaticContent<qt_meta_tag_ZN3shq13SourceSidebarE_t>.strings))
return static_cast<void*>(this);
return QWidget::qt_metacast(_clname);
}
int shq::SourceSidebar::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QWidget::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 2)
qt_static_metacall(this, _c, _id, _a);
_id -= 2;
}
if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 2)
*reinterpret_cast<QMetaType *>(_a[0]) = QMetaType();
_id -= 2;
}
return _id;
}
// SIGNAL 0
void shq::SourceSidebar::addSourceRequested()
{
QMetaObject::activate(this, &staticMetaObject, 0, nullptr);
}
QT_WARNING_POP
@@ -0,0 +1,166 @@
/****************************************************************************
** Meta object code from reading C++ file 'StatsDialog.h'
**
** Created by: The Qt Meta Object Compiler version 69 (Qt 6.11.1)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "../../../StatsDialog.h"
#include <QtCore/qmetatype.h>
#include <QtCore/qtmochelpers.h>
#include <memory>
#include <QtCore/qxptype_traits.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'StatsDialog.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 69
#error "This file was generated using the moc from 6.11.1. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
#ifndef Q_CONSTINIT
#define Q_CONSTINIT
#endif
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
QT_WARNING_DISABLE_GCC("-Wuseless-cast")
namespace {
struct qt_meta_tag_ZN3shq15HistogramWidgetE_t {};
} // unnamed namespace
template <> constexpr inline auto shq::HistogramWidget::qt_create_metaobjectdata<qt_meta_tag_ZN3shq15HistogramWidgetE_t>()
{
namespace QMC = QtMocConstants;
QtMocHelpers::StringRefStorage qt_stringData {
"shq::HistogramWidget"
};
QtMocHelpers::UintData qt_methods {
};
QtMocHelpers::UintData qt_properties {
};
QtMocHelpers::UintData qt_enums {
};
return QtMocHelpers::metaObjectData<HistogramWidget, qt_meta_tag_ZN3shq15HistogramWidgetE_t>(QMC::MetaObjectFlag{}, qt_stringData,
qt_methods, qt_properties, qt_enums);
}
Q_CONSTINIT const QMetaObject shq::HistogramWidget::staticMetaObject = { {
QMetaObject::SuperData::link<QWidget::staticMetaObject>(),
qt_staticMetaObjectStaticContent<qt_meta_tag_ZN3shq15HistogramWidgetE_t>.stringdata,
qt_staticMetaObjectStaticContent<qt_meta_tag_ZN3shq15HistogramWidgetE_t>.data,
qt_static_metacall,
nullptr,
qt_staticMetaObjectRelocatingContent<qt_meta_tag_ZN3shq15HistogramWidgetE_t>.metaTypes,
nullptr
} };
void shq::HistogramWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
auto *_t = static_cast<HistogramWidget *>(_o);
(void)_t;
(void)_c;
(void)_id;
(void)_a;
}
const QMetaObject *shq::HistogramWidget::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *shq::HistogramWidget::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_staticMetaObjectStaticContent<qt_meta_tag_ZN3shq15HistogramWidgetE_t>.strings))
return static_cast<void*>(this);
return QWidget::qt_metacast(_clname);
}
int shq::HistogramWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QWidget::qt_metacall(_c, _id, _a);
return _id;
}
namespace {
struct qt_meta_tag_ZN3shq11StatsDialogE_t {};
} // unnamed namespace
template <> constexpr inline auto shq::StatsDialog::qt_create_metaobjectdata<qt_meta_tag_ZN3shq11StatsDialogE_t>()
{
namespace QMC = QtMocConstants;
QtMocHelpers::StringRefStorage qt_stringData {
"shq::StatsDialog",
"refresh",
""
};
QtMocHelpers::UintData qt_methods {
// Slot 'refresh'
QtMocHelpers::SlotData<void()>(1, 2, QMC::AccessPublic, QMetaType::Void),
};
QtMocHelpers::UintData qt_properties {
};
QtMocHelpers::UintData qt_enums {
};
return QtMocHelpers::metaObjectData<StatsDialog, qt_meta_tag_ZN3shq11StatsDialogE_t>(QMC::MetaObjectFlag{}, qt_stringData,
qt_methods, qt_properties, qt_enums);
}
Q_CONSTINIT const QMetaObject shq::StatsDialog::staticMetaObject = { {
QMetaObject::SuperData::link<QDialog::staticMetaObject>(),
qt_staticMetaObjectStaticContent<qt_meta_tag_ZN3shq11StatsDialogE_t>.stringdata,
qt_staticMetaObjectStaticContent<qt_meta_tag_ZN3shq11StatsDialogE_t>.data,
qt_static_metacall,
nullptr,
qt_staticMetaObjectRelocatingContent<qt_meta_tag_ZN3shq11StatsDialogE_t>.metaTypes,
nullptr
} };
void shq::StatsDialog::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
auto *_t = static_cast<StatsDialog *>(_o);
if (_c == QMetaObject::InvokeMetaMethod) {
switch (_id) {
case 0: _t->refresh(); break;
default: ;
}
}
(void)_a;
}
const QMetaObject *shq::StatsDialog::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *shq::StatsDialog::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_staticMetaObjectStaticContent<qt_meta_tag_ZN3shq11StatsDialogE_t>.strings))
return static_cast<void*>(this);
return QDialog::qt_metacast(_clname);
}
int shq::StatsDialog::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QDialog::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 1)
qt_static_metacall(this, _c, _id, _a);
_id -= 1;
}
if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 1)
*reinterpret_cast<QMetaType *>(_a[0]) = QMetaType();
_id -= 1;
}
return _id;
}
QT_WARNING_POP
@@ -0,0 +1,113 @@
/****************************************************************************
** Meta object code from reading C++ file 'TriggerBar.h'
**
** Created by: The Qt Meta Object Compiler version 69 (Qt 6.11.1)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "../../../TriggerBar.h"
#include <QtCore/qmetatype.h>
#include <QtCore/qtmochelpers.h>
#include <memory>
#include <QtCore/qxptype_traits.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'TriggerBar.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 69
#error "This file was generated using the moc from 6.11.1. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
#ifndef Q_CONSTINIT
#define Q_CONSTINIT
#endif
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
QT_WARNING_DISABLE_GCC("-Wuseless-cast")
namespace {
struct qt_meta_tag_ZN3shq10TriggerBarE_t {};
} // unnamed namespace
template <> constexpr inline auto shq::TriggerBar::qt_create_metaobjectdata<qt_meta_tag_ZN3shq10TriggerBarE_t>()
{
namespace QMC = QtMocConstants;
QtMocHelpers::StringRefStorage qt_stringData {
"shq::TriggerBar",
"refreshSignals",
"",
"onTriggerStateChanged"
};
QtMocHelpers::UintData qt_methods {
// Slot 'refreshSignals'
QtMocHelpers::SlotData<void()>(1, 2, QMC::AccessPublic, QMetaType::Void),
// Slot 'onTriggerStateChanged'
QtMocHelpers::SlotData<void()>(3, 2, QMC::AccessPublic, QMetaType::Void),
};
QtMocHelpers::UintData qt_properties {
};
QtMocHelpers::UintData qt_enums {
};
return QtMocHelpers::metaObjectData<TriggerBar, qt_meta_tag_ZN3shq10TriggerBarE_t>(QMC::MetaObjectFlag{}, qt_stringData,
qt_methods, qt_properties, qt_enums);
}
Q_CONSTINIT const QMetaObject shq::TriggerBar::staticMetaObject = { {
QMetaObject::SuperData::link<QWidget::staticMetaObject>(),
qt_staticMetaObjectStaticContent<qt_meta_tag_ZN3shq10TriggerBarE_t>.stringdata,
qt_staticMetaObjectStaticContent<qt_meta_tag_ZN3shq10TriggerBarE_t>.data,
qt_static_metacall,
nullptr,
qt_staticMetaObjectRelocatingContent<qt_meta_tag_ZN3shq10TriggerBarE_t>.metaTypes,
nullptr
} };
void shq::TriggerBar::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
auto *_t = static_cast<TriggerBar *>(_o);
if (_c == QMetaObject::InvokeMetaMethod) {
switch (_id) {
case 0: _t->refreshSignals(); break;
case 1: _t->onTriggerStateChanged(); break;
default: ;
}
}
(void)_a;
}
const QMetaObject *shq::TriggerBar::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *shq::TriggerBar::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_staticMetaObjectStaticContent<qt_meta_tag_ZN3shq10TriggerBarE_t>.strings))
return static_cast<void*>(this);
return QWidget::qt_metacast(_clname);
}
int shq::TriggerBar::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QWidget::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 2)
qt_static_metacall(this, _c, _id, _a);
_id -= 2;
}
if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 2)
*reinterpret_cast<QMetaType *>(_a[0]) = QMetaType();
_id -= 2;
}
return _id;
}
QT_WARNING_POP
@@ -0,0 +1,175 @@
/****************************************************************************
** Meta object code from reading C++ file 'WsClient.h'
**
** Created by: The Qt Meta Object Compiler version 69 (Qt 6.11.1)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "../../../WsClient.h"
#include <QtCore/qmetatype.h>
#include <QtCore/qtmochelpers.h>
#include <memory>
#include <QtCore/qxptype_traits.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'WsClient.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 69
#error "This file was generated using the moc from 6.11.1. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
#ifndef Q_CONSTINIT
#define Q_CONSTINIT
#endif
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
QT_WARNING_DISABLE_GCC("-Wuseless-cast")
namespace {
struct qt_meta_tag_ZN3shq8WsClientE_t {};
} // unnamed namespace
template <> constexpr inline auto shq::WsClient::qt_create_metaobjectdata<qt_meta_tag_ZN3shq8WsClientE_t>()
{
namespace QMC = QtMocConstants;
QtMocHelpers::StringRefStorage qt_stringData {
"shq::WsClient",
"connectedChanged",
"",
"connected",
"textReceived",
"json",
"binaryReceived",
"data",
"sendText",
"std::string",
"onConnected",
"onDisconnected",
"onTick"
};
QtMocHelpers::UintData qt_methods {
// Signal 'connectedChanged'
QtMocHelpers::SignalData<void(bool)>(1, 2, QMC::AccessPublic, QMetaType::Void, {{
{ QMetaType::Bool, 3 },
}}),
// Signal 'textReceived'
QtMocHelpers::SignalData<void(const QString &)>(4, 2, QMC::AccessPublic, QMetaType::Void, {{
{ QMetaType::QString, 5 },
}}),
// Signal 'binaryReceived'
QtMocHelpers::SignalData<void(const QByteArray &)>(6, 2, QMC::AccessPublic, QMetaType::Void, {{
{ QMetaType::QByteArray, 7 },
}}),
// Slot 'sendText'
QtMocHelpers::SlotData<void(const QString &)>(8, 2, QMC::AccessPublic, QMetaType::Void, {{
{ QMetaType::QString, 5 },
}}),
// Slot 'sendText'
QtMocHelpers::SlotData<void(const std::string &)>(8, 2, QMC::AccessPublic, QMetaType::Void, {{
{ 0x80000000 | 9, 5 },
}}),
// Slot 'onConnected'
QtMocHelpers::SlotData<void()>(10, 2, QMC::AccessPrivate, QMetaType::Void),
// Slot 'onDisconnected'
QtMocHelpers::SlotData<void()>(11, 2, QMC::AccessPrivate, QMetaType::Void),
// Slot 'onTick'
QtMocHelpers::SlotData<void()>(12, 2, QMC::AccessPrivate, QMetaType::Void),
};
QtMocHelpers::UintData qt_properties {
};
QtMocHelpers::UintData qt_enums {
};
return QtMocHelpers::metaObjectData<WsClient, qt_meta_tag_ZN3shq8WsClientE_t>(QMC::MetaObjectFlag{}, qt_stringData,
qt_methods, qt_properties, qt_enums);
}
Q_CONSTINIT const QMetaObject shq::WsClient::staticMetaObject = { {
QMetaObject::SuperData::link<QObject::staticMetaObject>(),
qt_staticMetaObjectStaticContent<qt_meta_tag_ZN3shq8WsClientE_t>.stringdata,
qt_staticMetaObjectStaticContent<qt_meta_tag_ZN3shq8WsClientE_t>.data,
qt_static_metacall,
nullptr,
qt_staticMetaObjectRelocatingContent<qt_meta_tag_ZN3shq8WsClientE_t>.metaTypes,
nullptr
} };
void shq::WsClient::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
auto *_t = static_cast<WsClient *>(_o);
if (_c == QMetaObject::InvokeMetaMethod) {
switch (_id) {
case 0: _t->connectedChanged((*reinterpret_cast<std::add_pointer_t<bool>>(_a[1]))); break;
case 1: _t->textReceived((*reinterpret_cast<std::add_pointer_t<QString>>(_a[1]))); break;
case 2: _t->binaryReceived((*reinterpret_cast<std::add_pointer_t<QByteArray>>(_a[1]))); break;
case 3: _t->sendText((*reinterpret_cast<std::add_pointer_t<QString>>(_a[1]))); break;
case 4: _t->sendText((*reinterpret_cast<std::add_pointer_t<std::string>>(_a[1]))); break;
case 5: _t->onConnected(); break;
case 6: _t->onDisconnected(); break;
case 7: _t->onTick(); break;
default: ;
}
}
if (_c == QMetaObject::IndexOfMethod) {
if (QtMocHelpers::indexOfMethod<void (WsClient::*)(bool )>(_a, &WsClient::connectedChanged, 0))
return;
if (QtMocHelpers::indexOfMethod<void (WsClient::*)(const QString & )>(_a, &WsClient::textReceived, 1))
return;
if (QtMocHelpers::indexOfMethod<void (WsClient::*)(const QByteArray & )>(_a, &WsClient::binaryReceived, 2))
return;
}
}
const QMetaObject *shq::WsClient::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *shq::WsClient::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_staticMetaObjectStaticContent<qt_meta_tag_ZN3shq8WsClientE_t>.strings))
return static_cast<void*>(this);
return QObject::qt_metacast(_clname);
}
int shq::WsClient::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QObject::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 8)
qt_static_metacall(this, _c, _id, _a);
_id -= 8;
}
if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 8)
*reinterpret_cast<QMetaType *>(_a[0]) = QMetaType();
_id -= 8;
}
return _id;
}
// SIGNAL 0
void shq::WsClient::connectedChanged(bool _t1)
{
QMetaObject::activate<void>(this, &staticMetaObject, 0, nullptr, _t1);
}
// SIGNAL 1
void shq::WsClient::textReceived(const QString & _t1)
{
QMetaObject::activate<void>(this, &staticMetaObject, 1, nullptr, _t1);
}
// SIGNAL 2
void shq::WsClient::binaryReceived(const QByteArray & _t1)
{
QMetaObject::activate<void>(this, &staticMetaObject, 2, nullptr, _t1);
}
QT_WARNING_POP
@@ -0,0 +1,992 @@
StreamHubQtClient_autogen/timestamp: \
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/CMakeLists.txt \
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/HistoryBar.cpp \
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/HistoryBar.h \
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/Hub.cpp \
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/Hub.h \
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/MainWindow.cpp \
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/MainWindow.h \
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/Model.h \
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/PlotGrid.cpp \
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/PlotGrid.h \
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/PlotWidget.cpp \
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/PlotWidget.h \
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/SourceSidebar.cpp \
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/SourceSidebar.h \
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/StatsDialog.cpp \
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/StatsDialog.h \
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/Theme.cpp \
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/Theme.h \
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/TriggerBar.cpp \
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/TriggerBar.h \
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/WsClient.cpp \
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/WsClient.h \
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/4.3.4/CMakeCXXCompiler.cmake \
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/4.3.4/CMakeSystem.cmake \
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/StreamHubQtClient_autogen/moc_predefs.h \
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/main.cpp \
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp \
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub/Protocol.h \
/home/martino/Projects/MARTe_Integrated_components/Client/streamhub/SignalBuffer.h \
/usr/include/alloca.h \
/usr/include/asm-generic/bitsperlong.h \
/usr/include/asm-generic/errno-base.h \
/usr/include/asm-generic/errno.h \
/usr/include/asm-generic/int-ll64.h \
/usr/include/asm-generic/posix_types.h \
/usr/include/asm-generic/types.h \
/usr/include/asm/bitsperlong.h \
/usr/include/asm/errno.h \
/usr/include/asm/posix_types.h \
/usr/include/asm/posix_types_64.h \
/usr/include/asm/types.h \
/usr/include/assert.h \
/usr/include/bits/atomic_wide_counter.h \
/usr/include/bits/byteswap.h \
/usr/include/bits/cpu-set.h \
/usr/include/bits/endian.h \
/usr/include/bits/endianness.h \
/usr/include/bits/errno.h \
/usr/include/bits/floatn-common.h \
/usr/include/bits/floatn.h \
/usr/include/bits/libc-header-start.h \
/usr/include/bits/local_lim.h \
/usr/include/bits/locale.h \
/usr/include/bits/long-double.h \
/usr/include/bits/posix1_lim.h \
/usr/include/bits/posix2_lim.h \
/usr/include/bits/pthread_stack_min-dynamic.h \
/usr/include/bits/pthreadtypes-arch.h \
/usr/include/bits/pthreadtypes.h \
/usr/include/bits/sched.h \
/usr/include/bits/select.h \
/usr/include/bits/setjmp.h \
/usr/include/bits/stdint-intn.h \
/usr/include/bits/stdint-least.h \
/usr/include/bits/stdint-uintn.h \
/usr/include/bits/stdio_lim.h \
/usr/include/bits/stdlib-float.h \
/usr/include/bits/struct_mutex.h \
/usr/include/bits/struct_rwlock.h \
/usr/include/bits/thread-shared-types.h \
/usr/include/bits/time.h \
/usr/include/bits/time64.h \
/usr/include/bits/timesize.h \
/usr/include/bits/timex.h \
/usr/include/bits/types.h \
/usr/include/bits/types/FILE.h \
/usr/include/bits/types/__FILE.h \
/usr/include/bits/types/__fpos64_t.h \
/usr/include/bits/types/__fpos_t.h \
/usr/include/bits/types/__locale_t.h \
/usr/include/bits/types/__mbstate_t.h \
/usr/include/bits/types/__sigset_t.h \
/usr/include/bits/types/clock_t.h \
/usr/include/bits/types/clockid_t.h \
/usr/include/bits/types/cookie_io_functions_t.h \
/usr/include/bits/types/error_t.h \
/usr/include/bits/types/locale_t.h \
/usr/include/bits/types/mbstate_t.h \
/usr/include/bits/types/sigset_t.h \
/usr/include/bits/types/struct_FILE.h \
/usr/include/bits/types/struct___jmp_buf_tag.h \
/usr/include/bits/types/struct_itimerspec.h \
/usr/include/bits/types/struct_sched_param.h \
/usr/include/bits/types/struct_timespec.h \
/usr/include/bits/types/struct_timeval.h \
/usr/include/bits/types/struct_tm.h \
/usr/include/bits/types/time_t.h \
/usr/include/bits/types/timer_t.h \
/usr/include/bits/types/wint_t.h \
/usr/include/bits/typesizes.h \
/usr/include/bits/uintn-identity.h \
/usr/include/bits/uio_lim.h \
/usr/include/bits/waitflags.h \
/usr/include/bits/waitstatus.h \
/usr/include/bits/wchar.h \
/usr/include/bits/wordsize.h \
/usr/include/bits/xopen_lim.h \
/usr/include/c++/16.1.1/algorithm \
/usr/include/c++/16.1.1/array \
/usr/include/c++/16.1.1/atomic \
/usr/include/c++/16.1.1/backward/auto_ptr.h \
/usr/include/c++/16.1.1/backward/binders.h \
/usr/include/c++/16.1.1/bit \
/usr/include/c++/16.1.1/bits/algorithmfwd.h \
/usr/include/c++/16.1.1/bits/align.h \
/usr/include/c++/16.1.1/bits/alloc_traits.h \
/usr/include/c++/16.1.1/bits/allocated_ptr.h \
/usr/include/c++/16.1.1/bits/allocator.h \
/usr/include/c++/16.1.1/bits/atomic_base.h \
/usr/include/c++/16.1.1/bits/atomic_lockfree_defines.h \
/usr/include/c++/16.1.1/bits/basic_string.h \
/usr/include/c++/16.1.1/bits/basic_string.tcc \
/usr/include/c++/16.1.1/bits/char_traits.h \
/usr/include/c++/16.1.1/bits/charconv.h \
/usr/include/c++/16.1.1/bits/chrono.h \
/usr/include/c++/16.1.1/bits/concept_check.h \
/usr/include/c++/16.1.1/bits/cpp_type_traits.h \
/usr/include/c++/16.1.1/bits/cxxabi_forced.h \
/usr/include/c++/16.1.1/bits/cxxabi_init_exception.h \
/usr/include/c++/16.1.1/bits/enable_special_members.h \
/usr/include/c++/16.1.1/bits/erase_if.h \
/usr/include/c++/16.1.1/bits/exception.h \
/usr/include/c++/16.1.1/bits/exception_defines.h \
/usr/include/c++/16.1.1/bits/exception_ptr.h \
/usr/include/c++/16.1.1/bits/functexcept.h \
/usr/include/c++/16.1.1/bits/functional_hash.h \
/usr/include/c++/16.1.1/bits/hash_bytes.h \
/usr/include/c++/16.1.1/bits/hashtable.h \
/usr/include/c++/16.1.1/bits/hashtable_policy.h \
/usr/include/c++/16.1.1/bits/invoke.h \
/usr/include/c++/16.1.1/bits/ios_base.h \
/usr/include/c++/16.1.1/bits/list.tcc \
/usr/include/c++/16.1.1/bits/locale_classes.h \
/usr/include/c++/16.1.1/bits/locale_classes.tcc \
/usr/include/c++/16.1.1/bits/localefwd.h \
/usr/include/c++/16.1.1/bits/memory_resource.h \
/usr/include/c++/16.1.1/bits/memoryfwd.h \
/usr/include/c++/16.1.1/bits/move.h \
/usr/include/c++/16.1.1/bits/nested_exception.h \
/usr/include/c++/16.1.1/bits/new_allocator.h \
/usr/include/c++/16.1.1/bits/new_except.h \
/usr/include/c++/16.1.1/bits/new_throw.h \
/usr/include/c++/16.1.1/bits/node_handle.h \
/usr/include/c++/16.1.1/bits/ostream_insert.h \
/usr/include/c++/16.1.1/bits/parse_numbers.h \
/usr/include/c++/16.1.1/bits/postypes.h \
/usr/include/c++/16.1.1/bits/predefined_ops.h \
/usr/include/c++/16.1.1/bits/ptr_traits.h \
/usr/include/c++/16.1.1/bits/range_access.h \
/usr/include/c++/16.1.1/bits/refwrap.h \
/usr/include/c++/16.1.1/bits/requires_hosted.h \
/usr/include/c++/16.1.1/bits/shared_ptr.h \
/usr/include/c++/16.1.1/bits/shared_ptr_atomic.h \
/usr/include/c++/16.1.1/bits/shared_ptr_base.h \
/usr/include/c++/16.1.1/bits/specfun.h \
/usr/include/c++/16.1.1/bits/std_abs.h \
/usr/include/c++/16.1.1/bits/std_function.h \
/usr/include/c++/16.1.1/bits/stdexcept_except.h \
/usr/include/c++/16.1.1/bits/stdexcept_throw.h \
/usr/include/c++/16.1.1/bits/stdexcept_throwfwd.h \
/usr/include/c++/16.1.1/bits/stl_algo.h \
/usr/include/c++/16.1.1/bits/stl_algobase.h \
/usr/include/c++/16.1.1/bits/stl_bvector.h \
/usr/include/c++/16.1.1/bits/stl_construct.h \
/usr/include/c++/16.1.1/bits/stl_function.h \
/usr/include/c++/16.1.1/bits/stl_heap.h \
/usr/include/c++/16.1.1/bits/stl_iterator.h \
/usr/include/c++/16.1.1/bits/stl_iterator_base_funcs.h \
/usr/include/c++/16.1.1/bits/stl_iterator_base_types.h \
/usr/include/c++/16.1.1/bits/stl_list.h \
/usr/include/c++/16.1.1/bits/stl_map.h \
/usr/include/c++/16.1.1/bits/stl_multimap.h \
/usr/include/c++/16.1.1/bits/stl_multiset.h \
/usr/include/c++/16.1.1/bits/stl_numeric.h \
/usr/include/c++/16.1.1/bits/stl_pair.h \
/usr/include/c++/16.1.1/bits/stl_raw_storage_iter.h \
/usr/include/c++/16.1.1/bits/stl_relops.h \
/usr/include/c++/16.1.1/bits/stl_set.h \
/usr/include/c++/16.1.1/bits/stl_tempbuf.h \
/usr/include/c++/16.1.1/bits/stl_tree.h \
/usr/include/c++/16.1.1/bits/stl_uninitialized.h \
/usr/include/c++/16.1.1/bits/stl_vector.h \
/usr/include/c++/16.1.1/bits/stream_iterator.h \
/usr/include/c++/16.1.1/bits/streambuf.tcc \
/usr/include/c++/16.1.1/bits/streambuf_iterator.h \
/usr/include/c++/16.1.1/bits/string_view.tcc \
/usr/include/c++/16.1.1/bits/stringfwd.h \
/usr/include/c++/16.1.1/bits/uniform_int_dist.h \
/usr/include/c++/16.1.1/bits/unique_ptr.h \
/usr/include/c++/16.1.1/bits/unordered_map.h \
/usr/include/c++/16.1.1/bits/unordered_set.h \
/usr/include/c++/16.1.1/bits/uses_allocator.h \
/usr/include/c++/16.1.1/bits/uses_allocator_args.h \
/usr/include/c++/16.1.1/bits/utility.h \
/usr/include/c++/16.1.1/bits/vector.tcc \
/usr/include/c++/16.1.1/bits/version.h \
/usr/include/c++/16.1.1/cassert \
/usr/include/c++/16.1.1/cctype \
/usr/include/c++/16.1.1/cerrno \
/usr/include/c++/16.1.1/chrono \
/usr/include/c++/16.1.1/climits \
/usr/include/c++/16.1.1/clocale \
/usr/include/c++/16.1.1/cmath \
/usr/include/c++/16.1.1/compare \
/usr/include/c++/16.1.1/concepts \
/usr/include/c++/16.1.1/cstddef \
/usr/include/c++/16.1.1/cstdint \
/usr/include/c++/16.1.1/cstdio \
/usr/include/c++/16.1.1/cstdlib \
/usr/include/c++/16.1.1/cstring \
/usr/include/c++/16.1.1/ctime \
/usr/include/c++/16.1.1/cwchar \
/usr/include/c++/16.1.1/debug/assertions.h \
/usr/include/c++/16.1.1/debug/debug.h \
/usr/include/c++/16.1.1/exception \
/usr/include/c++/16.1.1/ext/aligned_buffer.h \
/usr/include/c++/16.1.1/ext/alloc_traits.h \
/usr/include/c++/16.1.1/ext/atomicity.h \
/usr/include/c++/16.1.1/ext/concurrence.h \
/usr/include/c++/16.1.1/ext/numeric_traits.h \
/usr/include/c++/16.1.1/ext/string_conversions.h \
/usr/include/c++/16.1.1/ext/type_traits.h \
/usr/include/c++/16.1.1/functional \
/usr/include/c++/16.1.1/initializer_list \
/usr/include/c++/16.1.1/iosfwd \
/usr/include/c++/16.1.1/iterator \
/usr/include/c++/16.1.1/limits \
/usr/include/c++/16.1.1/list \
/usr/include/c++/16.1.1/map \
/usr/include/c++/16.1.1/memory \
/usr/include/c++/16.1.1/new \
/usr/include/c++/16.1.1/numeric \
/usr/include/c++/16.1.1/optional \
/usr/include/c++/16.1.1/pstl/execution_defs.h \
/usr/include/c++/16.1.1/pstl/glue_numeric_defs.h \
/usr/include/c++/16.1.1/pstl/pstl_config.h \
/usr/include/c++/16.1.1/ratio \
/usr/include/c++/16.1.1/set \
/usr/include/c++/16.1.1/stdexcept \
/usr/include/c++/16.1.1/streambuf \
/usr/include/c++/16.1.1/string \
/usr/include/c++/16.1.1/string_view \
/usr/include/c++/16.1.1/system_error \
/usr/include/c++/16.1.1/tr1/bessel_function.tcc \
/usr/include/c++/16.1.1/tr1/beta_function.tcc \
/usr/include/c++/16.1.1/tr1/ell_integral.tcc \
/usr/include/c++/16.1.1/tr1/exp_integral.tcc \
/usr/include/c++/16.1.1/tr1/gamma.tcc \
/usr/include/c++/16.1.1/tr1/hypergeometric.tcc \
/usr/include/c++/16.1.1/tr1/legendre_function.tcc \
/usr/include/c++/16.1.1/tr1/modified_bessel_func.tcc \
/usr/include/c++/16.1.1/tr1/poly_hermite.tcc \
/usr/include/c++/16.1.1/tr1/poly_laguerre.tcc \
/usr/include/c++/16.1.1/tr1/riemann_zeta.tcc \
/usr/include/c++/16.1.1/tr1/special_function_util.h \
/usr/include/c++/16.1.1/tuple \
/usr/include/c++/16.1.1/type_traits \
/usr/include/c++/16.1.1/typeinfo \
/usr/include/c++/16.1.1/unordered_map \
/usr/include/c++/16.1.1/unordered_set \
/usr/include/c++/16.1.1/utility \
/usr/include/c++/16.1.1/variant \
/usr/include/c++/16.1.1/vector \
/usr/include/c++/16.1.1/version \
/usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/atomic_word.h \
/usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++allocator.h \
/usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++config.h \
/usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++locale.h \
/usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/cpu_defines.h \
/usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/error_constants.h \
/usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h \
/usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/gthr.h \
/usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/os_defines.h \
/usr/include/ctype.h \
/usr/include/endian.h \
/usr/include/errno.h \
/usr/include/features-time64.h \
/usr/include/features.h \
/usr/include/gnu/stubs-64.h \
/usr/include/gnu/stubs.h \
/usr/include/limits.h \
/usr/include/linux/errno.h \
/usr/include/linux/limits.h \
/usr/include/linux/posix_types.h \
/usr/include/linux/sched/types.h \
/usr/include/linux/stddef.h \
/usr/include/linux/types.h \
/usr/include/locale.h \
/usr/include/pthread.h \
/usr/include/qt6/QtCore/QByteArray \
/usr/include/qt6/QtCore/QFlags \
/usr/include/qt6/QtCore/QObject \
/usr/include/qt6/QtCore/QSharedDataPointer \
/usr/include/qt6/QtCore/QString \
/usr/include/qt6/QtCore/QTimer \
/usr/include/qt6/QtCore/QUrl \
/usr/include/qt6/QtCore/QVariant \
/usr/include/qt6/QtCore/q17memory.h \
/usr/include/qt6/QtCore/q20bit.h \
/usr/include/qt6/QtCore/q20functional.h \
/usr/include/qt6/QtCore/q20iterator.h \
/usr/include/qt6/QtCore/q20memory.h \
/usr/include/qt6/QtCore/q20type_traits.h \
/usr/include/qt6/QtCore/q20utility.h \
/usr/include/qt6/QtCore/q23type_traits.h \
/usr/include/qt6/QtCore/q23utility.h \
/usr/include/qt6/QtCore/q26numeric.h \
/usr/include/qt6/QtCore/qabstracteventdispatcher.h \
/usr/include/qt6/QtCore/qalgorithms.h \
/usr/include/qt6/QtCore/qalloc.h \
/usr/include/qt6/QtCore/qanystringview.h \
/usr/include/qt6/QtCore/qarraydata.h \
/usr/include/qt6/QtCore/qarraydataops.h \
/usr/include/qt6/QtCore/qarraydatapointer.h \
/usr/include/qt6/QtCore/qassert.h \
/usr/include/qt6/QtCore/qatomic.h \
/usr/include/qt6/QtCore/qatomic_cxx11.h \
/usr/include/qt6/QtCore/qbasicatomic.h \
/usr/include/qt6/QtCore/qbasictimer.h \
/usr/include/qt6/QtCore/qbindingstorage.h \
/usr/include/qt6/QtCore/qbytearray.h \
/usr/include/qt6/QtCore/qbytearrayalgorithms.h \
/usr/include/qt6/QtCore/qbytearraylist.h \
/usr/include/qt6/QtCore/qbytearrayview.h \
/usr/include/qt6/QtCore/qcalendar.h \
/usr/include/qt6/QtCore/qchar.h \
/usr/include/qt6/QtCore/qcheckedint_impl.h \
/usr/include/qt6/QtCore/qcompare.h \
/usr/include/qt6/QtCore/qcompare_impl.h \
/usr/include/qt6/QtCore/qcomparehelpers.h \
/usr/include/qt6/QtCore/qcompilerdetection.h \
/usr/include/qt6/QtCore/qconfig.h \
/usr/include/qt6/QtCore/qconstructormacros.h \
/usr/include/qt6/QtCore/qcontainerfwd.h \
/usr/include/qt6/QtCore/qcontainerinfo.h \
/usr/include/qt6/QtCore/qcontainertools_impl.h \
/usr/include/qt6/QtCore/qcontiguouscache.h \
/usr/include/qt6/QtCore/qcryptographichash.h \
/usr/include/qt6/QtCore/qdarwinhelpers.h \
/usr/include/qt6/QtCore/qdatastream.h \
/usr/include/qt6/QtCore/qdatetime.h \
/usr/include/qt6/QtCore/qdeadlinetimer.h \
/usr/include/qt6/QtCore/qdebug.h \
/usr/include/qt6/QtCore/qendian.h \
/usr/include/qt6/QtCore/qeventloop.h \
/usr/include/qt6/QtCore/qexceptionhandling.h \
/usr/include/qt6/QtCore/qflags.h \
/usr/include/qt6/QtCore/qfloat16.h \
/usr/include/qt6/QtCore/qforeach.h \
/usr/include/qt6/QtCore/qfunctionaltools_impl.h \
/usr/include/qt6/QtCore/qfunctionpointer.h \
/usr/include/qt6/QtCore/qgenericatomic.h \
/usr/include/qt6/QtCore/qglobal.h \
/usr/include/qt6/QtCore/qglobalstatic.h \
/usr/include/qt6/QtCore/qhash.h \
/usr/include/qt6/QtCore/qhashfunctions.h \
/usr/include/qt6/QtCore/qiodevice.h \
/usr/include/qt6/QtCore/qiodevicebase.h \
/usr/include/qt6/QtCore/qiterable.h \
/usr/include/qt6/QtCore/qiterator.h \
/usr/include/qt6/QtCore/qlatin1stringview.h \
/usr/include/qt6/QtCore/qline.h \
/usr/include/qt6/QtCore/qlist.h \
/usr/include/qt6/QtCore/qlocale.h \
/usr/include/qt6/QtCore/qlogging.h \
/usr/include/qt6/QtCore/qmalloc.h \
/usr/include/qt6/QtCore/qmap.h \
/usr/include/qt6/QtCore/qmargins.h \
/usr/include/qt6/QtCore/qmath.h \
/usr/include/qt6/QtCore/qmetacontainer.h \
/usr/include/qt6/QtCore/qmetaobject.h \
/usr/include/qt6/QtCore/qmetatype.h \
/usr/include/qt6/QtCore/qminmax.h \
/usr/include/qt6/QtCore/qnamespace.h \
/usr/include/qt6/QtCore/qnumeric.h \
/usr/include/qt6/QtCore/qobject.h \
/usr/include/qt6/QtCore/qobject_impl.h \
/usr/include/qt6/QtCore/qobjectdefs.h \
/usr/include/qt6/QtCore/qobjectdefs_impl.h \
/usr/include/qt6/QtCore/qoverload.h \
/usr/include/qt6/QtCore/qpair.h \
/usr/include/qt6/QtCore/qpoint.h \
/usr/include/qt6/QtCore/qprocessordetection.h \
/usr/include/qt6/QtCore/qrect.h \
/usr/include/qt6/QtCore/qrefcount.h \
/usr/include/qt6/QtCore/qscopedpointer.h \
/usr/include/qt6/QtCore/qscopeguard.h \
/usr/include/qt6/QtCore/qset.h \
/usr/include/qt6/QtCore/qshareddata.h \
/usr/include/qt6/QtCore/qshareddata_impl.h \
/usr/include/qt6/QtCore/qsharedpointer.h \
/usr/include/qt6/QtCore/qsharedpointer_impl.h \
/usr/include/qt6/QtCore/qsize.h \
/usr/include/qt6/QtCore/qspan.h \
/usr/include/qt6/QtCore/qstdlibdetection.h \
/usr/include/qt6/QtCore/qstring.h \
/usr/include/qt6/QtCore/qstringalgorithms.h \
/usr/include/qt6/QtCore/qstringbuilder.h \
/usr/include/qt6/QtCore/qstringconverter.h \
/usr/include/qt6/QtCore/qstringconverter_base.h \
/usr/include/qt6/QtCore/qstringfwd.h \
/usr/include/qt6/QtCore/qstringlist.h \
/usr/include/qt6/QtCore/qstringmatcher.h \
/usr/include/qt6/QtCore/qstringtokenizer.h \
/usr/include/qt6/QtCore/qstringview.h \
/usr/include/qt6/QtCore/qswap.h \
/usr/include/qt6/QtCore/qsysinfo.h \
/usr/include/qt6/QtCore/qsystemdetection.h \
/usr/include/qt6/QtCore/qtaggedpointer.h \
/usr/include/qt6/QtCore/qtclasshelpermacros.h \
/usr/include/qt6/QtCore/qtconfiginclude.h \
/usr/include/qt6/QtCore/qtconfigmacros.h \
/usr/include/qt6/QtCore/qtcore-config.h \
/usr/include/qt6/QtCore/qtcoreexports.h \
/usr/include/qt6/QtCore/qtcoreglobal.h \
/usr/include/qt6/QtCore/qtdeprecationdefinitions.h \
/usr/include/qt6/QtCore/qtdeprecationmarkers.h \
/usr/include/qt6/QtCore/qtenvironmentvariables.h \
/usr/include/qt6/QtCore/qtextstream.h \
/usr/include/qt6/QtCore/qtformat_impl.h \
/usr/include/qt6/QtCore/qtimer.h \
/usr/include/qt6/QtCore/qtmetamacros.h \
/usr/include/qt6/QtCore/qtnoop.h \
/usr/include/qt6/QtCore/qtpreprocessorsupport.h \
/usr/include/qt6/QtCore/qtresource.h \
/usr/include/qt6/QtCore/qttranslation.h \
/usr/include/qt6/QtCore/qttypetraits.h \
/usr/include/qt6/QtCore/qtversion.h \
/usr/include/qt6/QtCore/qtversionchecks.h \
/usr/include/qt6/QtCore/qtypeinfo.h \
/usr/include/qt6/QtCore/qtypes.h \
/usr/include/qt6/QtCore/qurl.h \
/usr/include/qt6/QtCore/qutf8stringview.h \
/usr/include/qt6/QtCore/qvariant.h \
/usr/include/qt6/QtCore/qvarlengtharray.h \
/usr/include/qt6/QtCore/qversiontagging.h \
/usr/include/qt6/QtCore/qxptype_traits.h \
/usr/include/qt6/QtCore/qyieldcpu.h \
/usr/include/qt6/QtGui/QColor \
/usr/include/qt6/QtGui/qaction.h \
/usr/include/qt6/QtGui/qbitmap.h \
/usr/include/qt6/QtGui/qbrush.h \
/usr/include/qt6/QtGui/qcolor.h \
/usr/include/qt6/QtGui/qcursor.h \
/usr/include/qt6/QtGui/qfont.h \
/usr/include/qt6/QtGui/qfontinfo.h \
/usr/include/qt6/QtGui/qfontmetrics.h \
/usr/include/qt6/QtGui/qfontvariableaxis.h \
/usr/include/qt6/QtGui/qicon.h \
/usr/include/qt6/QtGui/qimage.h \
/usr/include/qt6/QtGui/qkeysequence.h \
/usr/include/qt6/QtGui/qpaintdevice.h \
/usr/include/qt6/QtGui/qpalette.h \
/usr/include/qt6/QtGui/qpixelformat.h \
/usr/include/qt6/QtGui/qpixmap.h \
/usr/include/qt6/QtGui/qpolygon.h \
/usr/include/qt6/QtGui/qregion.h \
/usr/include/qt6/QtGui/qrgb.h \
/usr/include/qt6/QtGui/qrgba64.h \
/usr/include/qt6/QtGui/qtgui-config.h \
/usr/include/qt6/QtGui/qtguiexports.h \
/usr/include/qt6/QtGui/qtguiglobal.h \
/usr/include/qt6/QtGui/qtransform.h \
/usr/include/qt6/QtGui/qwindowdefs.h \
/usr/include/qt6/QtNetwork/QAbstractSocket \
/usr/include/qt6/QtNetwork/QNetworkProxy \
/usr/include/qt6/QtNetwork/QNetworkRequest \
/usr/include/qt6/QtNetwork/QSslConfiguration \
/usr/include/qt6/QtNetwork/QSslError \
/usr/include/qt6/QtNetwork/qabstractsocket.h \
/usr/include/qt6/QtNetwork/qhostaddress.h \
/usr/include/qt6/QtNetwork/qhttpheaders.h \
/usr/include/qt6/QtNetwork/qnetworkproxy.h \
/usr/include/qt6/QtNetwork/qnetworkrequest.h \
/usr/include/qt6/QtNetwork/qssl.h \
/usr/include/qt6/QtNetwork/qsslcertificate.h \
/usr/include/qt6/QtNetwork/qsslconfiguration.h \
/usr/include/qt6/QtNetwork/qsslerror.h \
/usr/include/qt6/QtNetwork/qsslsocket.h \
/usr/include/qt6/QtNetwork/qtcpsocket.h \
/usr/include/qt6/QtNetwork/qtnetwork-config.h \
/usr/include/qt6/QtNetwork/qtnetworkexports.h \
/usr/include/qt6/QtNetwork/qtnetworkglobal.h \
/usr/include/qt6/QtWebSockets/QWebSocket \
/usr/include/qt6/QtWebSockets/qtwebsocketsexports.h \
/usr/include/qt6/QtWebSockets/qwebsocket.h \
/usr/include/qt6/QtWebSockets/qwebsocketprotocol.h \
/usr/include/qt6/QtWebSockets/qwebsockets_global.h \
/usr/include/qt6/QtWidgets/QDialog \
/usr/include/qt6/QtWidgets/QMainWindow \
/usr/include/qt6/QtWidgets/QWidget \
/usr/include/qt6/QtWidgets/qdialog.h \
/usr/include/qt6/QtWidgets/qmainwindow.h \
/usr/include/qt6/QtWidgets/qsizepolicy.h \
/usr/include/qt6/QtWidgets/qtabwidget.h \
/usr/include/qt6/QtWidgets/qtwidgets-config.h \
/usr/include/qt6/QtWidgets/qtwidgetsexports.h \
/usr/include/qt6/QtWidgets/qtwidgetsglobal.h \
/usr/include/qt6/QtWidgets/qwidget.h \
/usr/include/sched.h \
/usr/include/stdc-predef.h \
/usr/include/stdint.h \
/usr/include/stdio.h \
/usr/include/stdlib.h \
/usr/include/string.h \
/usr/include/strings.h \
/usr/include/sys/cdefs.h \
/usr/include/sys/select.h \
/usr/include/sys/single_threaded.h \
/usr/include/sys/types.h \
/usr/include/time.h \
/usr/include/wchar.h \
/usr/lib/cmake/Qt6/FindWrapAtomic.cmake \
/usr/lib/cmake/Qt6/FindWrapOpenGL.cmake \
/usr/lib/cmake/Qt6/FindWrapVulkanHeaders.cmake \
/usr/lib/cmake/Qt6/Qt6Config.cmake \
/usr/lib/cmake/Qt6/Qt6ConfigExtras.cmake \
/usr/lib/cmake/Qt6/Qt6ConfigVersion.cmake \
/usr/lib/cmake/Qt6/Qt6ConfigVersionImpl.cmake \
/usr/lib/cmake/Qt6/Qt6Dependencies.cmake \
/usr/lib/cmake/Qt6/Qt6Targets.cmake \
/usr/lib/cmake/Qt6/Qt6TargetsPrecheck.cmake \
/usr/lib/cmake/Qt6/Qt6VersionlessAliasTargets.cmake \
/usr/lib/cmake/Qt6/QtFeature.cmake \
/usr/lib/cmake/Qt6/QtFeatureCommon.cmake \
/usr/lib/cmake/Qt6/QtInstallPaths.cmake \
/usr/lib/cmake/Qt6/QtPublicAndroidHelpers.cmake \
/usr/lib/cmake/Qt6/QtPublicAppleHelpers.cmake \
/usr/lib/cmake/Qt6/QtPublicCMakeEarlyPolicyHelpers.cmake \
/usr/lib/cmake/Qt6/QtPublicCMakeHelpers.cmake \
/usr/lib/cmake/Qt6/QtPublicCMakeVersionHelpers.cmake \
/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake \
/usr/lib/cmake/Qt6/QtPublicExternalProjectHelpers.cmake \
/usr/lib/cmake/Qt6/QtPublicFinalizerHelpers.cmake \
/usr/lib/cmake/Qt6/QtPublicFindPackageHelpers.cmake \
/usr/lib/cmake/Qt6/QtPublicGitHelpers.cmake \
/usr/lib/cmake/Qt6/QtPublicPluginHelpers.cmake \
/usr/lib/cmake/Qt6/QtPublicPluginHelpers_v2.cmake \
/usr/lib/cmake/Qt6/QtPublicSbomAttributionHelpers.cmake \
/usr/lib/cmake/Qt6/QtPublicSbomBuildToolHelpers.cmake \
/usr/lib/cmake/Qt6/QtPublicSbomCommonGenerationHelpers.cmake \
/usr/lib/cmake/Qt6/QtPublicSbomCpeHelpers.cmake \
/usr/lib/cmake/Qt6/QtPublicSbomCycloneDXHelpers.cmake \
/usr/lib/cmake/Qt6/QtPublicSbomDepHelpers.cmake \
/usr/lib/cmake/Qt6/QtPublicSbomDocumentNamespaceHelpers.cmake \
/usr/lib/cmake/Qt6/QtPublicSbomExternalReferenceHelpers.cmake \
/usr/lib/cmake/Qt6/QtPublicSbomFileHelpers.cmake \
/usr/lib/cmake/Qt6/QtPublicSbomGenerationCycloneDXHelpers.cmake \
/usr/lib/cmake/Qt6/QtPublicSbomGenerationHelpers.cmake \
/usr/lib/cmake/Qt6/QtPublicSbomHelpers.cmake \
/usr/lib/cmake/Qt6/QtPublicSbomLicenseHelpers.cmake \
/usr/lib/cmake/Qt6/QtPublicSbomOpsHelpers.cmake \
/usr/lib/cmake/Qt6/QtPublicSbomPurlHelpers.cmake \
/usr/lib/cmake/Qt6/QtPublicSbomPythonHelpers.cmake \
/usr/lib/cmake/Qt6/QtPublicSbomQtEntityHelpers.cmake \
/usr/lib/cmake/Qt6/QtPublicSbomRelationshipHelpers.cmake \
/usr/lib/cmake/Qt6/QtPublicSbomSystemDepHelpers.cmake \
/usr/lib/cmake/Qt6/QtPublicTargetHelpers.cmake \
/usr/lib/cmake/Qt6/QtPublicTestHelpers.cmake \
/usr/lib/cmake/Qt6/QtPublicToolHelpers.cmake \
/usr/lib/cmake/Qt6/QtPublicWalkLibsHelpers.cmake \
/usr/lib/cmake/Qt6/QtPublicWindowsHelpers.cmake \
/usr/lib/cmake/Qt6Core/Qt6CoreAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Core/Qt6CoreConfig.cmake \
/usr/lib/cmake/Qt6Core/Qt6CoreConfigExtras.cmake \
/usr/lib/cmake/Qt6Core/Qt6CoreConfigVersion.cmake \
/usr/lib/cmake/Qt6Core/Qt6CoreConfigVersionImpl.cmake \
/usr/lib/cmake/Qt6Core/Qt6CoreDependencies.cmake \
/usr/lib/cmake/Qt6Core/Qt6CoreMacros.cmake \
/usr/lib/cmake/Qt6Core/Qt6CoreTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Core/Qt6CoreTargets.cmake \
/usr/lib/cmake/Qt6Core/Qt6CoreTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Core/Qt6CoreVersionlessAliasTargets.cmake \
/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfig.cmake \
/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfigVersion.cmake \
/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfigVersionImpl.cmake \
/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsDependencies.cmake \
/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsTargets.cmake \
/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsVersionlessTargets.cmake \
/usr/lib/cmake/Qt6DBus/Qt6DBusAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6DBus/Qt6DBusConfig.cmake \
/usr/lib/cmake/Qt6DBus/Qt6DBusConfigVersion.cmake \
/usr/lib/cmake/Qt6DBus/Qt6DBusConfigVersionImpl.cmake \
/usr/lib/cmake/Qt6DBus/Qt6DBusDependencies.cmake \
/usr/lib/cmake/Qt6DBus/Qt6DBusMacros.cmake \
/usr/lib/cmake/Qt6DBus/Qt6DBusTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6DBus/Qt6DBusTargets.cmake \
/usr/lib/cmake/Qt6DBus/Qt6DBusTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6DBus/Qt6DBusVersionlessAliasTargets.cmake \
/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsConfig.cmake \
/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsConfigVersion.cmake \
/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsConfigVersionImpl.cmake \
/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsDependencies.cmake \
/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsTargets.cmake \
/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsVersionlessTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6GuiAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6GuiConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6GuiConfigVersion.cmake \
/usr/lib/cmake/Qt6Gui/Qt6GuiConfigVersionImpl.cmake \
/usr/lib/cmake/Qt6Gui/Qt6GuiDependencies.cmake \
/usr/lib/cmake/Qt6Gui/Qt6GuiPlugins.cmake \
/usr/lib/cmake/Qt6Gui/Qt6GuiTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6GuiTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6GuiTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6GuiVersionlessAliasTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QGifPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QGifPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QGifPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QGifPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QGifPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QICNSPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QICNSPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QICNSPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QICNSPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QICNSPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QICOPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QICOPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QICOPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QICOPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QICOPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QJp2PluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QJp2PluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QJp2PluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QJp2PluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QJp2PluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QJpegPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QJpegPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QJpegPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QJpegPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QJpegPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QMngPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QMngPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QMngPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QMngPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QMngPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QPdfPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QPdfPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QPdfPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QPdfPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QPdfPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QSvgPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QSvgPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QSvgPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QSvgPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QSvgPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QTgaPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QTgaPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QTgaPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QTgaPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QTgaPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QTiffPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QTiffPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QTiffPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QTiffPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QTiffPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWebpPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWebpPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWebpPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWebpPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QWebpPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginConfig.cmake \
/usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginTargets.cmake \
/usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsConfig.cmake \
/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsConfigVersion.cmake \
/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsConfigVersionImpl.cmake \
/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsDependencies.cmake \
/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsTargets.cmake \
/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsVersionlessTargets.cmake \
/usr/lib/cmake/Qt6Network/Qt6NetworkAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Network/Qt6NetworkConfig.cmake \
/usr/lib/cmake/Qt6Network/Qt6NetworkConfigVersion.cmake \
/usr/lib/cmake/Qt6Network/Qt6NetworkConfigVersionImpl.cmake \
/usr/lib/cmake/Qt6Network/Qt6NetworkDependencies.cmake \
/usr/lib/cmake/Qt6Network/Qt6NetworkPlugins.cmake \
/usr/lib/cmake/Qt6Network/Qt6NetworkTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Network/Qt6NetworkTargets.cmake \
/usr/lib/cmake/Qt6Network/Qt6NetworkTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Network/Qt6NetworkVersionlessAliasTargets.cmake \
/usr/lib/cmake/Qt6Network/Qt6QConnManNetworkInformationPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Network/Qt6QConnManNetworkInformationPluginConfig.cmake \
/usr/lib/cmake/Qt6Network/Qt6QConnManNetworkInformationPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Network/Qt6QConnManNetworkInformationPluginTargets.cmake \
/usr/lib/cmake/Qt6Network/Qt6QConnManNetworkInformationPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Network/Qt6QGlibNetworkInformationPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Network/Qt6QGlibNetworkInformationPluginConfig.cmake \
/usr/lib/cmake/Qt6Network/Qt6QGlibNetworkInformationPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Network/Qt6QGlibNetworkInformationPluginTargets.cmake \
/usr/lib/cmake/Qt6Network/Qt6QGlibNetworkInformationPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Network/Qt6QNetworkManagerNetworkInformationPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Network/Qt6QNetworkManagerNetworkInformationPluginConfig.cmake \
/usr/lib/cmake/Qt6Network/Qt6QNetworkManagerNetworkInformationPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Network/Qt6QNetworkManagerNetworkInformationPluginTargets.cmake \
/usr/lib/cmake/Qt6Network/Qt6QNetworkManagerNetworkInformationPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Network/Qt6QTlsBackendCertOnlyPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Network/Qt6QTlsBackendCertOnlyPluginConfig.cmake \
/usr/lib/cmake/Qt6Network/Qt6QTlsBackendCertOnlyPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Network/Qt6QTlsBackendCertOnlyPluginTargets.cmake \
/usr/lib/cmake/Qt6Network/Qt6QTlsBackendCertOnlyPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Network/Qt6QTlsBackendOpenSSLPluginAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Network/Qt6QTlsBackendOpenSSLPluginConfig.cmake \
/usr/lib/cmake/Qt6Network/Qt6QTlsBackendOpenSSLPluginTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Network/Qt6QTlsBackendOpenSSLPluginTargets.cmake \
/usr/lib/cmake/Qt6Network/Qt6QTlsBackendOpenSSLPluginTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsConfig.cmake \
/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsConfigVersion.cmake \
/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsConfigVersionImpl.cmake \
/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsDependencies.cmake \
/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsTargets.cmake \
/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6WebSockets/Qt6WebSocketsVersionlessAliasTargets.cmake \
/usr/lib/cmake/Qt6Widgets/Qt6WidgetsAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake \
/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfigVersion.cmake \
/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfigVersionImpl.cmake \
/usr/lib/cmake/Qt6Widgets/Qt6WidgetsDependencies.cmake \
/usr/lib/cmake/Qt6Widgets/Qt6WidgetsMacros.cmake \
/usr/lib/cmake/Qt6Widgets/Qt6WidgetsPlugins.cmake \
/usr/lib/cmake/Qt6Widgets/Qt6WidgetsTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6Widgets/Qt6WidgetsTargets.cmake \
/usr/lib/cmake/Qt6Widgets/Qt6WidgetsTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6Widgets/Qt6WidgetsVersionlessAliasTargets.cmake \
/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsAdditionalTargetInfo.cmake \
/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsConfig.cmake \
/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsConfigVersion.cmake \
/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsConfigVersionImpl.cmake \
/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsDependencies.cmake \
/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsTargets-relwithdebinfo.cmake \
/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsTargets.cmake \
/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsTargetsPrecheck.cmake \
/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsVersionlessTargets.cmake \
/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdarg.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdbool.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stddef.h \
/usr/share/cmake/Modules/CMakeCXXInformation.cmake \
/usr/share/cmake/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake \
/usr/share/cmake/Modules/CMakeCommonLanguageInclude.cmake \
/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake \
/usr/share/cmake/Modules/CMakeGenericSystem.cmake \
/usr/share/cmake/Modules/CMakeInitializeConfigs.cmake \
/usr/share/cmake/Modules/CMakeLanguageInformation.cmake \
/usr/share/cmake/Modules/CMakeSystemSpecificInformation.cmake \
/usr/share/cmake/Modules/CMakeSystemSpecificInitialize.cmake \
/usr/share/cmake/Modules/CheckCXXCompilerFlag.cmake \
/usr/share/cmake/Modules/CheckCXXSourceCompiles.cmake \
/usr/share/cmake/Modules/CheckIncludeFileCXX.cmake \
/usr/share/cmake/Modules/CheckLibraryExists.cmake \
/usr/share/cmake/Modules/Compiler/CMakeCommonCompilerMacros.cmake \
/usr/share/cmake/Modules/Compiler/GNU-CXX.cmake \
/usr/share/cmake/Modules/Compiler/GNU.cmake \
/usr/share/cmake/Modules/FindOpenGL.cmake \
/usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake \
/usr/share/cmake/Modules/FindPackageMessage.cmake \
/usr/share/cmake/Modules/FindThreads.cmake \
/usr/share/cmake/Modules/FindVulkan.cmake \
/usr/share/cmake/Modules/GNUInstallDirs.cmake \
/usr/share/cmake/Modules/Internal/CMakeCXXLinkerInformation.cmake \
/usr/share/cmake/Modules/Internal/CMakeCommonLinkerInformation.cmake \
/usr/share/cmake/Modules/Internal/CheckCompilerFlag.cmake \
/usr/share/cmake/Modules/Internal/CheckFlagCommonConfig.cmake \
/usr/share/cmake/Modules/Internal/CheckSourceCompiles.cmake \
/usr/share/cmake/Modules/Linker/GNU-CXX.cmake \
/usr/share/cmake/Modules/Linker/GNU.cmake \
/usr/share/cmake/Modules/MacroAddFileDependencies.cmake \
/usr/share/cmake/Modules/Platform/Linker/GNU.cmake \
/usr/share/cmake/Modules/Platform/Linker/Linux-GNU-CXX.cmake \
/usr/share/cmake/Modules/Platform/Linker/Linux-GNU.cmake \
/usr/share/cmake/Modules/Platform/Linux-GNU-CXX.cmake \
/usr/share/cmake/Modules/Platform/Linux-GNU.cmake \
/usr/share/cmake/Modules/Platform/Linux-Initialize.cmake \
/usr/share/cmake/Modules/Platform/Linux.cmake \
/usr/share/cmake/Modules/Platform/UnixPaths.cmake \
/usr/bin/cmake
@@ -0,0 +1,483 @@
#define __DBL_MIN_EXP__ (-1021)
#define __LDBL_MANT_DIG__ 64
#define __cpp_nontype_template_parameter_auto 201606L
#define __UINT_LEAST16_MAX__ 0xffff
#define __FLT16_HAS_QUIET_NAN__ 1
#define __ATOMIC_ACQUIRE 2
#define __FLT128_MAX_10_EXP__ 4932
#define __FLT_MIN__ 1.17549435082228750796873653722224568e-38F
#define __GCC_IEC_559_COMPLEX 2
#define __cpp_aggregate_nsdmi 201304L
#define __UINT_LEAST8_TYPE__ unsigned char
#define __SIZEOF_FLOAT80__ 16
#define __BFLT16_DENORM_MIN__ 9.18354961579912115600575419704879436e-41BF16
#define __INTMAX_C(c) c ## L
#define __CHAR_BIT__ 8
#define __UINT8_MAX__ 0xff
#define __SCHAR_WIDTH__ 8
#define __WINT_MAX__ 0xffffffffU
#define __FLT32_MIN_EXP__ (-125)
#define __cpp_static_assert 201411L
#define __BFLT16_MIN_10_EXP__ (-37)
#define __cpp_inheriting_constructors 201511L
#define QT_GUI_LIB 1
#define __ORDER_LITTLE_ENDIAN__ 1234
#define __WCHAR_MAX__ 0x7fffffff
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
#define __GCC_ATOMIC_CHAR_LOCK_FREE 2
#define __GCC_IEC_559 2
#define __FLT32X_DECIMAL_DIG__ 17
#define __FLT_EVAL_METHOD__ 0
#define __cpp_binary_literals 201304L
#define __FLT64_DECIMAL_DIG__ 17
#define __cpp_noexcept_function_type 201510L
#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2
#define __cpp_variadic_templates 200704L
#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL
#define __SIG_ATOMIC_TYPE__ int
#define __DBL_MIN_10_EXP__ (-307)
#define __FINITE_MATH_ONLY__ 0
#define __cpp_variable_templates 201304L
#define __FLT32X_MAX_EXP__ 1024
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
#define __FLT32_HAS_DENORM__ 1
#define __UINT_FAST8_MAX__ 0xff
#define __cpp_rvalue_reference 200610L
#define __cpp_nested_namespace_definitions 201411L
#define __DEC64_MAX_EXP__ 385
#define __INT8_C(c) c
#define __LDBL_HAS_INFINITY__ 1
#define __INT_LEAST8_WIDTH__ 8
#define __cpp_variadic_using 201611L
#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL
#define __INT_LEAST8_MAX__ 0x7f
#define __cpp_attributes 200809L
#define __cpp_capture_star_this 201603L
#define __SHRT_MAX__ 0x7fff
#define __LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L
#define __FLT64X_MAX_10_EXP__ 4932
#define __cpp_if_constexpr 201606L
#define __BFLT16_MAX_10_EXP__ 38
#define __BFLT16_MAX_EXP__ 128
#define __LDBL_IS_IEC_60559__ 1
#define QT_NO_DEBUG 1
#define __FLT64X_HAS_QUIET_NAN__ 1
#define __UINT_LEAST8_MAX__ 0xff
#define __GCC_ATOMIC_BOOL_LOCK_FREE 2
#define __FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128
#define __UINTMAX_TYPE__ long unsigned int
#define __cpp_nsdmi 200809L
#define __BFLT16_DECIMAL_DIG__ 4
#define __linux 1
#define __DEC32_EPSILON__ 1E-6DF
#define __FLT_EVAL_METHOD_TS_18661_3__ 0
#define __UINT32_MAX__ 0xffffffffU
#define __GXX_EXPERIMENTAL_CXX0X__ 1
#define __DBL_DENORM_MIN__ double(4.94065645841246544176568792868221372e-324L)
#define __FLT128_MIN_EXP__ (-16381)
#define __DEC64X_MAX_EXP__ 6145
#define __WINT_MIN__ 0U
#define __FLT128_MIN_10_EXP__ (-4931)
#define __FLT32X_IS_IEC_60559__ 1
#define __INT_LEAST16_WIDTH__ 16
#define __SCHAR_MAX__ 0x7f
#define __FLT128_MANT_DIG__ 113
#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1)
#define __INT64_C(c) c ## L
#define __SSP_STRONG__ 3
#define __GCC_ATOMIC_POINTER_LOCK_FREE 2
#define __ATOMIC_SEQ_CST 5
#define __unix 1
#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL
#define __FLT32X_MANT_DIG__ 53
#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2
#define __cpp_aligned_new 201606L
#define __FLT32_MAX_10_EXP__ 38
#define __FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x
#define __STDC_HOSTED__ 1
#define __DEC64_MIN_EXP__ (-382)
#define __cpp_decltype_auto 201304L
#define __DBL_DIG__ 15
#define __STDC_EMBED_EMPTY__ 2
#define __FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F
#define __GXX_WEAK__ 1
#define __SHRT_WIDTH__ 16
#define __FLT32_IS_IEC_60559__ 1
#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
#define __DBL_IS_IEC_60559__ 1
#define __DEC32_MAX__ 9.999999E96DF
#define __cpp_threadsafe_static_init 200806L
#define __cpp_enumerator_attributes 201411L
#define __FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x
#define __FLT32X_HAS_INFINITY__ 1
#define __unix__ 1
#define __INT_WIDTH__ 32
#define __STDC_IEC_559__ 1
#define __STDC_ISO_10646__ 201706L
#define __DECIMAL_DIG__ 21
#define __STDC_IEC_559_COMPLEX__ 1
#define __gnu_linux__ 1
#define __INT16_MAX__ 0x7fff
#define __FLT64_MIN_EXP__ (-1021)
#define __DEC64X_EPSILON__ 1E-33D64x
#define __FLT64X_MIN_10_EXP__ (-4931)
#define __LDBL_HAS_QUIET_NAN__ 1
#define __FLT16_MIN_EXP__ (-13)
#define __FLT64_MANT_DIG__ 53
#define __FLT64X_MANT_DIG__ 64
#define __BFLT16_DIG__ 2
#define __GNUC__ 16
#define __GXX_RTTI 1
#define __pie__ 2
#define __MMX__ 1
#define __FLT_HAS_DENORM__ 1
#define __SIZEOF_LONG_DOUBLE__ 16
#define __BIGGEST_ALIGNMENT__ 16
#define __STDC_UTF_16__ 1
#define __FLT64_MAX_10_EXP__ 308
#define __BFLT16_IS_IEC_60559__ 0
#define __FLT16_MAX_10_EXP__ 4
#define __cpp_delegating_constructors 200604L
#define __DBL_MAX__ double(1.79769313486231570814527423731704357e+308L)
#define __cpp_raw_strings 200710L
#define __INT_FAST32_MAX__ 0x7fffffffffffffffL
#define __DBL_HAS_INFINITY__ 1
#define __INT64_MAX__ 0x7fffffffffffffffL
#define __SIZEOF_FLOAT__ 4
#define __HAVE_SPECULATION_SAFE_VALUE 1
#define __cpp_fold_expressions 201603L
#define __DEC32_MIN_EXP__ (-94)
#define __INTPTR_WIDTH__ 64
#define __UINT_LEAST32_MAX__ 0xffffffffU
#define __FLT32X_HAS_DENORM__ 1
#define __INT_FAST16_TYPE__ long int
#define __MMX_WITH_SSE__ 1
#define __LDBL_HAS_DENORM__ 1
#define QT_WIDGETS_LIB 1
#define __SEG_GS 1
#define __BFLT16_EPSILON__ 7.81250000000000000000000000000000000e-3BF16
#define __cplusplus 201703L
#define __cpp_ref_qualifiers 200710L
#define __DEC32_MIN__ 1E-95DF
#define __DEPRECATED 1
#define __cpp_rvalue_references 200610L
#define __DBL_MAX_EXP__ 1024
#define __WCHAR_WIDTH__ 32
#define __FLT32_MAX__ 3.40282346638528859811704183484516925e+38F32
#define __DEC128_EPSILON__ 1E-33DL
#define __FLT16_DECIMAL_DIG__ 5
#define __SSE2_MATH__ 1
#define __ATOMIC_HLE_RELEASE 131072
#define __PTRDIFF_MAX__ 0x7fffffffffffffffL
#define __amd64 1
#define __DEC64X_MAX__ 9.999999999999999999999999999999999E6144D64x
#define __ATOMIC_HLE_ACQUIRE 65536
#define __GNUG__ 16
#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL
#define __SIZEOF_SIZE_T__ 8
#define __BFLT16_HAS_INFINITY__ 1
#define __FLT64X_MIN_EXP__ (-16381)
#define __SIZEOF_WINT_T__ 4
#define __FLT32X_DIG__ 15
#define __LONG_LONG_WIDTH__ 64
#define __cpp_initializer_lists 200806L
#define __FLT32_MAX_EXP__ 128
#define ABI_ID "ELF"
#define __cpp_hex_float 201603L
#define __GXX_ABI_VERSION 1021
#define __FLT_MIN_EXP__ (-125)
#define __GCC_HAVE_DWARF2_CFI_ASM 1
#define __x86_64 1
#define __cpp_lambdas 200907L
#define __INT_FAST64_TYPE__ long int
#define __BFLT16_MAX__ 3.38953138925153547590470800371487867e+38BF16
#define __FLT64_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F64
#define __cpp_template_auto 201606L
#define __FLT16_DENORM_MIN__ 5.96046447753906250000000000000000000e-8F16
#define __FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128
#define __FLT64X_NORM_MAX__ 1.18973149535723176502126385303097021e+4932F64x
#define __SIZEOF_POINTER__ 8
#define __SIZE_TYPE__ long unsigned int
#define __LP64__ 1
#define __DBL_HAS_QUIET_NAN__ 1
#define __FLT32X_EPSILON__ 2.22044604925031308084726333618164062e-16F32x
#define __LDBL_MAX_EXP__ 16384
#define __DECIMAL_BID_FORMAT__ 1
#define __FLT64_MIN_10_EXP__ (-307)
#define __FLT16_MIN_10_EXP__ (-4)
#define __FLT64X_DECIMAL_DIG__ 21
#define __DEC128_MIN__ 1E-6143DL
#define __REGISTER_PREFIX__
#define __UINT16_MAX__ 0xffff
#define __FLT128_HAS_INFINITY__ 1
#define __FLT32_MIN__ 1.17549435082228750796873653722224568e-38F32
#define __UINT8_TYPE__ unsigned char
#define __FLT_DIG__ 6
#define __NO_INLINE__ 1
#define __DEC_EVAL_METHOD__ 2
#define QT_NO_KEYWORDS 1
#define __FLT_MANT_DIG__ 24
#define __LDBL_DECIMAL_DIG__ 21
#define __VERSION__ "16.1.1 20260430"
#define __UINT64_C(c) c ## UL
#define __cpp_unicode_characters 201411L
#define __DEC64X_MIN__ 1E-6143D64x
#define _STDC_PREDEF_H 1
#define __INT_LEAST32_MAX__ 0x7fffffff
#define __GCC_ATOMIC_INT_LOCK_FREE 2
#define __FLT128_MAX_EXP__ 16384
#define __FLT32_MANT_DIG__ 24
#define __cpp_decltype 200707L
#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__
#define SIZEOF_DPTR (sizeof(void*))
#define __FLT32X_MIN_EXP__ (-1021)
#define __cpp_inline_variables 201606L
#define __STDC_IEC_60559_COMPLEX__ 201404L
#define __cpp_aggregate_bases 201603L
#define __BFLT16_MIN__ 1.17549435082228750796873653722224568e-38BF16
#define __FLT128_HAS_DENORM__ 1
#define __FLT32_DECIMAL_DIG__ 9
#define __FLT128_DIG__ 33
#define __INT32_C(c) c
#define __DEC64_EPSILON__ 1E-15DD
#define __ORDER_PDP_ENDIAN__ 3412
#define __DEC128_MIN_EXP__ (-6142)
#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL
#define __INT_FAST32_TYPE__ long int
#define __UINT_LEAST16_TYPE__ short unsigned int
#define __DEC64X_MANT_DIG__ 34
#define __DEC128_MAX_EXP__ 6145
#define unix 1
#define __DBL_HAS_DENORM__ 1
#define __cpp_rtti 199711L
#define __UINT64_MAX__ 0xffffffffffffffffUL
#define __FLT_IS_IEC_60559__ 1
#define __GNUC_WIDE_EXECUTION_CHARSET_NAME "UTF-32LE"
#define __FLT64X_DIG__ 18
#define __INT8_TYPE__ signed char
#define __cpp_digit_separators 201309L
#define __ELF__ 1
#define __GCC_ASM_FLAG_OUTPUTS__ 1
#define __UINT32_TYPE__ unsigned int
#define __BFLT16_HAS_QUIET_NAN__ 1
#define __FLT_RADIX__ 2
#define __INT_LEAST16_TYPE__ short int
#define __LDBL_EPSILON__ 1.08420217248550443400745280086994171e-19L
#define __UINTMAX_C(c) c ## UL
#define __FLT16_DIG__ 3
#define __k8 1
#define __FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x
#define __SIG_ATOMIC_MAX__ 0x7fffffff
#define __cpp_constexpr 201603L
#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2
#define __USER_LABEL_PREFIX__
#define __STDC_IEC_60559_BFP__ 201404L
#define __SIZEOF_PTRDIFF_T__ 8
#define __FLT64X_HAS_INFINITY__ 1
#define __SIZEOF_LONG__ 8
#define __LDBL_DIG__ 18
#define __FLT64_IS_IEC_60559__ 1
#define __x86_64__ 1
#define __FLT16_IS_IEC_60559__ 1
#define __FLT16_MAX_EXP__ 16
#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF
#define __STDC_EMBED_FOUND__ 1
#define __INT_FAST16_MAX__ 0x7fffffffffffffffL
#define __GCC_CONSTRUCTIVE_SIZE 64
#define __FLT64_DIG__ 15
#define __UINT_FAST32_MAX__ 0xffffffffffffffffUL
#define __UINT_LEAST64_TYPE__ long unsigned int
#define __FLT16_EPSILON__ 9.76562500000000000000000000000000000e-4F16
#define __FLT_HAS_QUIET_NAN__ 1
#define __FLT_MAX_10_EXP__ 38
#define __FLT64X_HAS_DENORM__ 1
#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL
#define __FLT_HAS_INFINITY__ 1
#define __GNUC_EXECUTION_CHARSET_NAME "UTF-8"
#define __cpp_unicode_literals 200710L
#define __UINT_FAST16_TYPE__ long unsigned int
#define __DEC64_MAX__ 9.999999999999999E384DD
#define __STDC_EMBED_NOT_FOUND__ 0
#define __INT_FAST32_WIDTH__ 64
#define __CHAR16_TYPE__ short unsigned int
#define __PRAGMA_REDEFINE_EXTNAME 1
#define __DEC64X_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143D64x
#define __SIZE_WIDTH__ 64
#define __SEG_FS 1
#define __INT_LEAST16_MAX__ 0x7fff
#define __FLT16_NORM_MAX__ 6.55040000000000000000000000000000000e+4F16
#define __DEC64_MANT_DIG__ 16
#define QT_NETWORK_LIB 1
#define __FLT32_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F32
#define __SIG_ATOMIC_WIDTH__ 32
#define __GCC_DESTRUCTIVE_SIZE 64
#define __INT_LEAST64_TYPE__ long int
#define __INT16_TYPE__ short int
#define __INT_LEAST8_TYPE__ signed char
#define __FLT16_MAX__ 6.55040000000000000000000000000000000e+4F16
#define __FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128
#define __cpp_structured_bindings 201606L
#define __SIZEOF_INT__ 4
#define __DEC32_MAX_EXP__ 97
#define __INT_FAST8_MAX__ 0x7f
#define __FLT128_MAX__ 1.18973149535723176508575932662800702e+4932F128
#define __INTPTR_MAX__ 0x7fffffffffffffffL
#define __cpp_sized_deallocation 201309L
#define __cpp_guaranteed_copy_elision 201606L
#define linux 1
#define __FLT64_HAS_QUIET_NAN__ 1
#define __FLT32_MIN_10_EXP__ (-37)
#define __EXCEPTIONS 1
#define __UINT16_C(c) c
#define __PTRDIFF_WIDTH__ 64
#define __cpp_range_based_for 201603L
#define __INT_FAST16_WIDTH__ 64
#define __FLT64_HAS_INFINITY__ 1
#define __FLT64X_MAX__ 1.18973149535723176502126385303097021e+4932F64x
#define __FLT16_HAS_INFINITY__ 1
#define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 16
#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1)
#define __code_model_small__ 1
#define __GCC_ATOMIC_LONG_LOCK_FREE 2
#define __cpp_nontype_template_args 201411L
#define __DEC32_MANT_DIG__ 7
#define __k8__ 1
#define __INTPTR_TYPE__ long int
#define __UINT16_TYPE__ short unsigned int
#define __WCHAR_TYPE__ int
#define __pic__ 2
#define __UINTPTR_MAX__ 0xffffffffffffffffUL
#define __INT_FAST64_WIDTH__ 64
#define __INT_FAST64_MAX__ 0x7fffffffffffffffL
#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1
#define __FLT_NORM_MAX__ 3.40282346638528859811704183484516925e+38F
#define __FLT32_HAS_INFINITY__ 1
#define __FLT64X_MAX_EXP__ 16384
#define __UINT_FAST64_TYPE__ long unsigned int
#define QT_WEBSOCKETS_LIB 1
#define __BFLT16_MIN_EXP__ (-125)
#define __INT_MAX__ 0x7fffffff
#define __linux__ 1
#define __INT64_TYPE__ long int
#define __FLT_MAX_EXP__ 128
#define __ORDER_BIG_ENDIAN__ 4321
#define __DBL_MANT_DIG__ 53
#define QT_CORE_LIB 1
#define __SIZEOF_FLOAT128__ 16
#define __BFLT16_MANT_DIG__ 8
#define __DEC64_MIN__ 1E-383DD
#define __WINT_TYPE__ unsigned int
#define __UINT_LEAST32_TYPE__ unsigned int
#define __SIZEOF_SHORT__ 2
#define __FLT32_NORM_MAX__ 3.40282346638528859811704183484516925e+38F32
#define __SSE__ 1
#define __LDBL_MIN_EXP__ (-16381)
#define __FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64
#define __DEC64X_MIN_EXP__ (-6142)
#define __amd64__ 1
#define __WINT_WIDTH__ 32
#define __INT_LEAST64_WIDTH__ 64
#define __FLT32X_MAX_10_EXP__ 308
#define __cpp_namespace_attributes 201411L
#define __SIZEOF_INT128__ 16
#define __FLT16_MIN__ 6.10351562500000000000000000000000000e-5F16
#define __FLT64X_IS_IEC_60559__ 1
#define __GXX_CONSTEXPR_ASM__ 1
#define __LDBL_MAX_10_EXP__ 4932
#define __ATOMIC_RELAXED 0
#define __DBL_EPSILON__ double(2.22044604925031308084726333618164062e-16L)
#define __INT_LEAST32_TYPE__ int
#define _LP64 1
#define __UINT8_C(c) c
#define __FLT64_MAX_EXP__ 1024
#define __cpp_return_type_deduction 201304L
#define __SIZEOF_WCHAR_T__ 4
#define __GNUC_PATCHLEVEL__ 1
#define __FLT128_NORM_MAX__ 1.18973149535723176508575932662800702e+4932F128
#define __FLT64_NORM_MAX__ 1.79769313486231570814527423731704357e+308F64
#define __FLT128_HAS_QUIET_NAN__ 1
#define __INTMAX_MAX__ 0x7fffffffffffffffL
#define __INT_FAST8_TYPE__ signed char
#define __FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x
#define __FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64
#define __STDCPP_THREADS__ 1
#define __BFLT16_HAS_DENORM__ 1
#define __GNUC_STDC_INLINE__ 1
#define __FLT64_HAS_DENORM__ 1
#define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32
#define __FLT16_HAS_DENORM__ 1
#define __DBL_DECIMAL_DIG__ 17
#define __STDC_UTF_32__ 1
#define __INT_FAST8_WIDTH__ 8
#define __FXSR__ 1
#define __FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x
#define __DBL_NORM_MAX__ double(1.79769313486231570814527423731704357e+308L)
#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
#define __INTMAX_WIDTH__ 64
#define __cpp_runtime_arrays 198712L
#define __FLT32_DIG__ 6
#define __UINT64_TYPE__ long unsigned int
#define __UINT32_C(c) c ## U
#define ARCHITECTURE_ID "x86_64"
#define __cpp_alias_templates 200704L
#define __FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F
#define __FLT128_IS_IEC_60559__ 1
#define __INT8_MAX__ 0x7f
#define __LONG_WIDTH__ 64
#define __DBL_MIN__ double(2.22507385850720138309023271733240406e-308L)
#define __PIC__ 2
#define __INT32_MAX__ 0x7fffffff
#define __UINT_FAST32_TYPE__ long unsigned int
#define __FLT16_MANT_DIG__ 11
#define __FLT32X_NORM_MAX__ 1.79769313486231570814527423731704357e+308F32x
#define __CHAR32_TYPE__ unsigned int
#define __FLT_MAX__ 3.40282346638528859811704183484516925e+38F
#define __SSE2__ 1
#define __cpp_deduction_guides 201703L
#define __BFLT16_NORM_MAX__ 3.38953138925153547590470800371487867e+38BF16
#define __INT32_TYPE__ int
#define __SIZEOF_DOUBLE__ 8
#define __cpp_exceptions 199711L
#define __FLT_MIN_10_EXP__ (-37)
#define __FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64
#define __INT_LEAST32_WIDTH__ 32
#define __INTMAX_TYPE__ long int
#define __GLIBCXX_BITSIZE_INT_N_0 128
#define __FLT32X_HAS_QUIET_NAN__ 1
#define __ATOMIC_CONSUME 1
#define __GNUC_MINOR__ 1
#define __GLIBCXX_TYPE_INT_N_0 __int128
#define __UINTMAX_MAX__ 0xffffffffffffffffUL
#define __PIE__ 2
#define __FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x
#define __cpp_template_template_args 201611L
#define __DBL_MAX_10_EXP__ 308
#define __LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L
#define __INT16_C(c) c
#define __STDC__ 1
#define __PTRDIFF_TYPE__ long int
#define __LONG_MAX__ 0x7fffffffffffffffL
#define __FLT32X_MIN_10_EXP__ (-307)
#define __UINTPTR_TYPE__ long unsigned int
#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD
#define __DEC128_MANT_DIG__ 34
#define __LDBL_MIN_10_EXP__ (-4931)
#define __cpp_generic_lambdas 201304L
#define __SSE_MATH__ 1
#define __SIZEOF_LONG_LONG__ 8
#define __cpp_user_defined_literals 200809L
#define __FLT128_DECIMAL_DIG__ 36
#define __GCC_ATOMIC_LLONG_LOCK_FREE 2
#define __FLT32_HAS_QUIET_NAN__ 1
#define __FLT_DECIMAL_DIG__ 9
#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL
#define __LDBL_NORM_MAX__ 1.18973149535723176502126385303097021e+4932L
#define __GCC_ATOMIC_SHORT_LOCK_FREE 2
#define __SIZE_MAX__ 0xffffffffffffffffUL
#define __UINT_FAST8_TYPE__ unsigned char
#define _GNU_SOURCE 1
#define __cpp_init_captures 201304L
#define __ATOMIC_ACQ_REL 4
#define __ATOMIC_RELEASE 3
@@ -0,0 +1,10 @@
// This file is autogenerated. Changes will be overwritten.
#include "EWIEGA46WW/moc_HistoryBar.cpp"
#include "EWIEGA46WW/moc_Hub.cpp"
#include "EWIEGA46WW/moc_MainWindow.cpp"
#include "EWIEGA46WW/moc_PlotGrid.cpp"
#include "EWIEGA46WW/moc_PlotWidget.cpp"
#include "EWIEGA46WW/moc_SourceSidebar.cpp"
#include "EWIEGA46WW/moc_StatsDialog.cpp"
#include "EWIEGA46WW/moc_TriggerBar.cpp"
#include "EWIEGA46WW/moc_WsClient.cpp"
@@ -0,0 +1,86 @@
# Install script for directory: /home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt
# Set the install prefix
if(NOT DEFINED CMAKE_INSTALL_PREFIX)
set(CMAKE_INSTALL_PREFIX "/usr/local")
endif()
string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
# Set the install configuration name.
if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
if(BUILD_TYPE)
string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
else()
set(CMAKE_INSTALL_CONFIG_NAME "Release")
endif()
message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
endif()
# Set the component getting installed.
if(NOT CMAKE_INSTALL_COMPONENT)
if(COMPONENT)
message(STATUS "Install component: \"${COMPONENT}\"")
set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
else()
set(CMAKE_INSTALL_COMPONENT)
endif()
endif()
# Install shared libraries without execute permission?
if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
set(CMAKE_INSTALL_SO_NO_EXE "0")
endif()
# Is this installation the result of a crosscompile?
if(NOT DEFINED CMAKE_CROSSCOMPILING)
set(CMAKE_CROSSCOMPILING "FALSE")
endif()
# Set path to fallback-tool for dependency-resolution.
if(NOT DEFINED CMAKE_OBJDUMP)
set(CMAKE_OBJDUMP "/usr/bin/objdump")
endif()
if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/StreamHubQtClient" AND
NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/StreamHubQtClient")
file(RPATH_CHECK
FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/StreamHubQtClient"
RPATH "")
endif()
file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/bin" TYPE EXECUTABLE FILES "/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/StreamHubQtClient")
if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/StreamHubQtClient" AND
NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/StreamHubQtClient")
if(CMAKE_INSTALL_DO_STRIP)
execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/StreamHubQtClient")
endif()
endif()
endif()
if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
include("/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/StreamHubQtClient.dir/install-cxx-module-bmi-Release.cmake" OPTIONAL)
endif()
string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
"${CMAKE_INSTALL_MANIFEST_FILES}")
if(CMAKE_INSTALL_LOCAL_ONLY)
file(WRITE "/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/install_local_manifest.txt"
"${CMAKE_INSTALL_MANIFEST_CONTENT}")
endif()
if(CMAKE_INSTALL_COMPONENT)
if(CMAKE_INSTALL_COMPONENT MATCHES "^[a-zA-Z0-9_.+-]+$")
set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
else()
string(MD5 CMAKE_INST_COMP_HASH "${CMAKE_INSTALL_COMPONENT}")
set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INST_COMP_HASH}.txt")
unset(CMAKE_INST_COMP_HASH)
endif()
else()
set(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
endif()
if(NOT CMAKE_INSTALL_LOCAL_ONLY)
file(WRITE "/home/martino/Projects/MARTe_Integrated_components/Client/streamhub-qt/build/${CMAKE_INSTALL_MANIFEST}"
"${CMAKE_INSTALL_MANIFEST_CONTENT}")
endif()
+36
View File
@@ -0,0 +1,36 @@
/**
* @file main.cpp
* @brief Entry point for the Qt StreamHub oscilloscope client.
*
* Usage: StreamHubQtClient [-host HOST] [-port PORT]
* Defaults: host 127.0.0.1, port 8090.
*/
#include "MainWindow.h"
#include "Theme.h"
#include <QApplication>
#include <QCommandLineParser>
int main(int argc, char** argv) {
QApplication app(argc, argv);
app.setApplicationName("StreamHubQtClient");
QCommandLineParser parser;
parser.setApplicationDescription("StreamHub oscilloscope client (Qt)");
parser.addHelpOption();
QCommandLineOption hostOpt({"H", "host"}, "Hub host", "host", "127.0.0.1");
QCommandLineOption portOpt({"p", "port"}, "Hub WS port", "port", "8090");
parser.addOption(hostOpt);
parser.addOption(portOpt);
parser.process(app);
const QString host = parser.value(hostOpt);
const uint16_t port = static_cast<uint16_t>(parser.value(portOpt).toUInt());
shq::applyTheme(app);
shq::MainWindow win(host, port ? port : 8090);
win.show();
return app.exec();
}
+15 -1
View File
@@ -225,6 +225,20 @@ void RenderPlotPanel(App& app, int plotIdx, bool& paused) {
if (!anyData) { useHistData = false; } if (!anyData) { useHistData = false; }
} }
/* Visible X window to read from the ring. Reading only the visible slice
* (binary-searched) instead of the entire ring which can hold a million
* points is what keeps live rendering fluid; the full-ring readLast()
* copied tens of MB per signal per frame. A 10% margin keeps a sample on
* each side so the later fine clip still has its boundary points. */
double visT0, visT1;
if (live) { visT1 = wallNow; visT0 = wallNow - app.windowSec(); }
else { visT1 = app.plotXMax(plotIdx); visT0 = app.plotXMin(plotIdx); }
{
double margin = (visT1 - visT0) * 0.1;
if (!(margin > 0.0)) { margin = 1.0; }
visT0 -= margin; visT1 += margin;
}
/* Fill tStore/vStore[si] from the frozen view (paused) or the live ring */ /* Fill tStore/vStore[si] from the frozen view (paused) or the live ring */
auto readBase = [&](size_t si, const Signal& sig, const std::string& key) { auto readBase = [&](size_t si, const Signal& sig, const std::string& key) {
if (paused && snap.valid) { if (paused && snap.valid) {
@@ -236,7 +250,7 @@ void RenderPlotPanel(App& app, int plotIdx, bool& paused) {
} }
} }
} }
(void) sig.buf.readLast((size_t)app.maxPoints(), tStore[si], vStore[si]); (void) sig.buf.readRange(visT0, visT1, tStore[si], vStore[si]);
}; };
for (size_t si = 0; si < slots.size(); si++) { for (size_t si = 0; si < slots.size(); si++) {
+30 -6
View File
@@ -61,6 +61,11 @@ struct SignalBuffer {
/** /**
* @brief Read all points in [t0, t1] into tOut/vOut. * @brief Read all points in [t0, t1] into tOut/vOut.
*
* Assumes points were pushed in non-decreasing time order (true for the
* StreamHub live stream) and binary-searches the logical [0,count) index
* space so the cost is O(log count + window) rather than O(count) this
* keeps per-frame rendering cheap even with a million-point ring.
* @return Number of points written. * @return Number of points written.
*/ */
size_t readRange(double t0, double t1, size_t readRange(double t0, double t1,
@@ -69,13 +74,32 @@ struct SignalBuffer {
vOut.clear(); vOut.clear();
if (count == 0) { return 0; } if (count == 0) { return 0; }
size_t startIdx = (head + capacity - count) % capacity; const size_t startIdx = (head + capacity - count) % capacity;
for (size_t i = 0; i < count; i++) { /* time at logical index i (0 = oldest, count-1 = newest) */
// first index with t >= t0
size_t lo = 0, hi = count;
while (lo < hi) {
size_t mid = lo + (hi - lo) / 2;
if (t[(startIdx + mid) % capacity] < t0) { lo = mid + 1; }
else { hi = mid; }
}
const size_t begin = lo;
// first index with t > t1
lo = begin; hi = count;
while (lo < hi) {
size_t mid = lo + (hi - lo) / 2;
if (t[(startIdx + mid) % capacity] <= t1) { lo = mid + 1; }
else { hi = mid; }
}
const size_t end = lo;
if (end <= begin) { return 0; }
tOut.reserve(end - begin);
vOut.reserve(end - begin);
for (size_t i = begin; i < end; i++) {
size_t idx = (startIdx + i) % capacity; size_t idx = (startIdx + i) % capacity;
if (t[idx] >= t0 && t[idx] <= t1) { tOut.push_back(t[idx]);
tOut.push_back(t[idx]); vOut.push_back(v[idx]);
vOut.push_back(v[idx]);
}
} }
return tOut.size(); return tOut.size();
} }
+13 -4
View File
@@ -18,18 +18,27 @@
#include <cstdlib> #include <cstdlib>
#include <ctime> #include <ctime>
#include <chrono> #include <chrono>
#include <random>
namespace StreamHubClient { namespace StreamHubClient {
/* ── Helpers ─────────────────────────────────────────────────────────────── */ /* ── Helpers ─────────────────────────────────────────────────────────────── */
static std::string base64Key() { static std::string base64Key() {
/* Generate 16 random bytes and base64-encode them */ /* HI-7: use /dev/urandom (CSPRNG) instead of srand(time)/rand() */
uint8_t raw[16]; uint8_t raw[16];
srand(static_cast<unsigned>(time(nullptr))); int fd = open("/dev/urandom", O_RDONLY);
for (int i = 0; i < 16; i++) { if (fd < 0 || read(fd, raw, sizeof(raw)) != static_cast<ssize_t>(sizeof(raw))) {
raw[i] = static_cast<uint8_t>(rand() & 0xFF); /* Fallback: std::random_device (still better than srand/rand) */
std::random_device rd;
for (size_t i = 0; i < sizeof(raw); i += sizeof(unsigned)) {
unsigned val = rd();
for (size_t j = 0; j < sizeof(unsigned) && i + j < sizeof(raw); j++) {
raw[i + j] = static_cast<uint8_t>(val >> (j * 8));
}
}
} }
if (fd >= 0) { close(fd); }
char out[32]; char out[32];
WS_Base64Encode(raw, 16, out); WS_Base64Encode(raw, 16, out);
return std::string(out); return std::string(out);
+2 -2
View File
@@ -28,7 +28,7 @@ CMAKE_BUILD_TYPE:STRING=Release
CMAKE_COLOR_MAKEFILE:BOOL=ON CMAKE_COLOR_MAKEFILE:BOOL=ON
//CXX compiler //CXX compiler
CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ CMAKE_CXX_COMPILER:STRING=/usr/bin/c++
//A wrapper around 'ar' adding the appropriate '--plugin' option //A wrapper around 'ar' adding the appropriate '--plugin' option
// for the GCC compiler // for the GCC compiler
@@ -292,7 +292,7 @@ CMAKE_CACHE_MAJOR_VERSION:INTERNAL=4
//Minor version of cmake used to create the current loaded cache //Minor version of cmake used to create the current loaded cache
CMAKE_CACHE_MINOR_VERSION:INTERNAL=3 CMAKE_CACHE_MINOR_VERSION:INTERNAL=3
//Patch version of cmake used to create the current loaded cache //Patch version of cmake used to create the current loaded cache
CMAKE_CACHE_PATCH_VERSION:INTERNAL=3 CMAKE_CACHE_PATCH_VERSION:INTERNAL=4
//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE
CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1
//Path to CMake executable. //Path to CMake executable.
@@ -0,0 +1,102 @@
set(CMAKE_CXX_COMPILER "/usr/bin/c++")
set(CMAKE_CXX_COMPILER_ARG1 "")
set(CMAKE_CXX_COMPILER_ID "GNU")
set(CMAKE_CXX_COMPILER_VERSION "16.1.1")
set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
set(CMAKE_CXX_COMPILER_WRAPPER "")
set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "20")
set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON")
set(CMAKE_CXX_STANDARD_LATEST "26")
set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23;cxx_std_26")
set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20")
set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23")
set(CMAKE_CXX26_COMPILE_FEATURES "cxx_std_26")
set(CMAKE_CXX_PLATFORM_ID "Linux")
set(CMAKE_CXX_SIMULATE_ID "")
set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "GNU")
set(CMAKE_CXX_COMPILER_APPLE_SYSROOT "")
set(CMAKE_CXX_SIMULATE_VERSION "")
set(CMAKE_CXX_COMPILER_ARCHITECTURE_ID "x86_64")
set(CMAKE_AR "/usr/bin/ar")
set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar")
set(CMAKE_RANLIB "/usr/bin/ranlib")
set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib")
set(CMAKE_LINKER "/usr/bin/ld")
set(CMAKE_LINKER_LINK "")
set(CMAKE_LINKER_LLD "")
set(CMAKE_CXX_COMPILER_LINKER "/usr/bin/ld")
set(CMAKE_CXX_COMPILER_LINKER_ID "GNU")
set(CMAKE_CXX_COMPILER_LINKER_VERSION 2.46.0)
set(CMAKE_CXX_COMPILER_LINKER_FRONTEND_VARIANT GNU)
set(CMAKE_MT "")
set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND")
set(CMAKE_COMPILER_IS_GNUCXX 1)
set(CMAKE_CXX_COMPILER_LOADED 1)
set(CMAKE_CXX_COMPILER_WORKS TRUE)
set(CMAKE_CXX_ABI_COMPILED TRUE)
set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
set(CMAKE_CXX_COMPILER_ID_RUN 1)
set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm;ccm;cxxm;c++m)
set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
foreach (lang IN ITEMS C OBJC OBJCXX)
if (CMAKE_${lang}_COMPILER_ID_RUN)
foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS)
list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension})
endforeach()
endif()
endforeach()
set(CMAKE_CXX_LINKER_PREFERENCE 30)
set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
set(CMAKE_CXX_LINKER_DEPFILE_SUPPORTED TRUE)
set(CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED TRUE)
set(CMAKE_CXX_LINKER_PUSHPOP_STATE_SUPPORTED TRUE)
# Save compiler ABI information.
set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
set(CMAKE_CXX_COMPILER_ABI "ELF")
set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN")
set(CMAKE_CXX_LIBRARY_ARCHITECTURE "")
if(CMAKE_CXX_SIZEOF_DATA_PTR)
set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
endif()
if(CMAKE_CXX_COMPILER_ABI)
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
endif()
if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
set(CMAKE_LIBRARY_ARCHITECTURE "")
endif()
set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
endif()
set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/16.1.1;/usr/include/c++/16.1.1/x86_64-pc-linux-gnu;/usr/include/c++/16.1.1/backward;/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include;/usr/local/include;/usr/include")
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;atomic_asneeded;c;gcc_s;gcc")
set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1;/usr/lib;/lib")
set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
set(CMAKE_CXX_COMPILER_CLANG_RESOURCE_DIR "")
set(CMAKE_CXX_COMPILER_IMPORT_STD "")
set(CMAKE_CXX_COMPILER_IMPORT_STD_ERROR_MESSAGE "Unsupported generator: Unix Makefiles")
set(CMAKE_CXX_STDLIB_MODULES_JSON "")
@@ -0,0 +1,15 @@
set(CMAKE_HOST_SYSTEM "Linux-7.0.12-arch1-1")
set(CMAKE_HOST_SYSTEM_NAME "Linux")
set(CMAKE_HOST_SYSTEM_VERSION "7.0.12-arch1-1")
set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
set(CMAKE_SYSTEM "Linux-7.0.12-arch1-1")
set(CMAKE_SYSTEM_NAME "Linux")
set(CMAKE_SYSTEM_VERSION "7.0.12-arch1-1")
set(CMAKE_SYSTEM_PROCESSOR "x86_64")
set(CMAKE_CROSSCOMPILING "FALSE")
set(CMAKE_SYSTEM_LOADED 1)
@@ -0,0 +1,949 @@
/* This source file must have a .cpp extension so that all C++ compilers
recognize the extension without flags. Borland does not know .cxx for
example. */
#ifndef __cplusplus
# error "A C compiler has been selected for C++."
#endif
#if !defined(__has_include)
/* If the compiler does not have __has_include, pretend the answer is
always no. */
# define __has_include(x) 0
#endif
/* Version number components: V=Version, R=Revision, P=Patch
Version date components: YYYY=Year, MM=Month, DD=Day */
#if defined(__INTEL_COMPILER) || defined(__ICC)
# define COMPILER_ID "Intel"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# if defined(__GNUC__)
# define SIMULATE_ID "GNU"
# endif
/* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later,
except that a few beta releases use the old format with V=2021. */
# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
# if defined(__INTEL_COMPILER_UPDATE)
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
# else
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
# endif
# else
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER)
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE)
/* The third version component from --version is an update index,
but no macro is provided for it. */
# define COMPILER_VERSION_PATCH DEC(0)
# endif
# if defined(__INTEL_COMPILER_BUILD_DATE)
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
# endif
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
# if defined(__GNUC__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
# elif defined(__GNUG__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
# endif
# if defined(__GNUC_MINOR__)
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
# endif
# if defined(__GNUC_PATCHLEVEL__)
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
# endif
#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER)
# define COMPILER_ID "IntelLLVM"
#if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
#endif
#if defined(__GNUC__)
# define SIMULATE_ID "GNU"
#endif
/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and
* later. Look for 6 digit vs. 8 digit version number to decide encoding.
* VVVV is no smaller than the current year when a version is released.
*/
#if __INTEL_LLVM_COMPILER < 1000000L
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100)
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10)
#else
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000)
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100)
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100)
#endif
#if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
#endif
#if defined(__GNUC__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
#elif defined(__GNUG__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
#endif
#if defined(__GNUC_MINOR__)
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
#endif
#if defined(__GNUC_PATCHLEVEL__)
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
#endif
#elif defined(__PATHCC__)
# define COMPILER_ID "PathScale"
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
# if defined(__PATHCC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
# endif
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
# define COMPILER_ID "Embarcadero"
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
#elif defined(__BORLANDC__)
# define COMPILER_ID "Borland"
/* __BORLANDC__ = 0xVRR */
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
# define COMPILER_ID "Watcom"
/* __WATCOMC__ = VVRR */
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
# if (__WATCOMC__ % 10) > 0
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
# endif
#elif defined(__WATCOMC__)
# define COMPILER_ID "OpenWatcom"
/* __WATCOMC__ = VVRP + 1100 */
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
# if (__WATCOMC__ % 10) > 0
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
# endif
#elif defined(__SUNPRO_CC)
# define COMPILER_ID "SunPro"
# if __SUNPRO_CC >= 0x5100
/* __SUNPRO_CC = 0xVRRP */
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
# else
/* __SUNPRO_CC = 0xVRP */
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
# endif
#elif defined(__HP_aCC)
# define COMPILER_ID "HP"
/* __HP_aCC = VVRRPP */
# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100)
#elif defined(__DECCXX)
# define COMPILER_ID "Compaq"
/* __DECCXX_VER = VVRRTPPPP */
# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100)
# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000)
#elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
# define COMPILER_ID "zOS"
/* __IBMCPP__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
#elif defined(__open_xl__) && defined(__clang__)
# define COMPILER_ID "IBMClang"
# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__)
# define COMPILER_VERSION_MINOR DEC(__open_xl_release__)
# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__)
# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__)
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
#elif defined(__ibmxl__) && defined(__clang__)
# define COMPILER_ID "XLClang"
# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
# define COMPILER_ID "XL"
/* __IBMCPP__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
# define COMPILER_ID "VisualAge"
/* __IBMCPP__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
#elif defined(__NVCOMPILER)
# define COMPILER_ID "NVHPC"
# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__)
# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__)
# if defined(__NVCOMPILER_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__)
# endif
#elif defined(__PGI)
# define COMPILER_ID "PGI"
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
# if defined(__PGIC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
# endif
#elif defined(__clang__) && defined(__cray__)
# define COMPILER_ID "CrayClang"
# define COMPILER_VERSION_MAJOR DEC(__cray_major__)
# define COMPILER_VERSION_MINOR DEC(__cray_minor__)
# define COMPILER_VERSION_PATCH DEC(__cray_patchlevel__)
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
#elif defined(_CRAYC)
# define COMPILER_ID "Cray"
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
#elif defined(__TI_COMPILER_VERSION__)
# define COMPILER_ID "TI"
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
#elif defined(__CLANG_FUJITSU)
# define COMPILER_ID "FujitsuClang"
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
#elif defined(__FUJITSU)
# define COMPILER_ID "Fujitsu"
# if defined(__FCC_version__)
# define COMPILER_VERSION __FCC_version__
# elif defined(__FCC_major__)
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
# endif
# if defined(__fcc_version)
# define COMPILER_VERSION_INTERNAL DEC(__fcc_version)
# elif defined(__FCC_VERSION)
# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION)
# endif
#elif defined(__ghs__)
# define COMPILER_ID "GHS"
/* __GHS_VERSION_NUMBER = VVVVRP */
# ifdef __GHS_VERSION_NUMBER
# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
# endif
#elif defined(__TASKING__)
# define COMPILER_ID "Tasking"
# define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000)
# define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100)
# define COMPILER_VERSION_INTERNAL DEC(__VERSION__)
#elif defined(__ORANGEC__)
# define COMPILER_ID "OrangeC"
# define COMPILER_VERSION_MAJOR DEC(__ORANGEC_MAJOR__)
# define COMPILER_VERSION_MINOR DEC(__ORANGEC_MINOR__)
# define COMPILER_VERSION_PATCH DEC(__ORANGEC_PATCHLEVEL__)
#elif defined(__RENESAS__)
# define COMPILER_ID "Renesas"
/* __RENESAS_VERSION__ = 0xVVRRPP00 */
# define COMPILER_VERSION_MAJOR HEX(__RENESAS_VERSION__ >> 24 & 0xFF)
# define COMPILER_VERSION_MINOR HEX(__RENESAS_VERSION__ >> 16 & 0xFF)
# define COMPILER_VERSION_PATCH HEX(__RENESAS_VERSION__ >> 8 & 0xFF)
#elif defined(__SCO_VERSION__)
# define COMPILER_ID "SCO"
#elif defined(__ARMCC_VERSION) && !defined(__clang__)
# define COMPILER_ID "ARMCC"
#if __ARMCC_VERSION >= 1000000
/* __ARMCC_VERSION = VRRPPPP */
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
#else
/* __ARMCC_VERSION = VRPPPP */
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
#endif
#elif defined(__clang__) && defined(__apple_build_version__)
# define COMPILER_ID "AppleClang"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
# define COMPILER_ID "ARMClang"
# define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
# define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
# define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION/100 % 100)
# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
#elif defined(__clang__) && defined(__ti__)
# define COMPILER_ID "TIClang"
# define COMPILER_VERSION_MAJOR DEC(__ti_major__)
# define COMPILER_VERSION_MINOR DEC(__ti_minor__)
# define COMPILER_VERSION_PATCH DEC(__ti_patchlevel__)
# define COMPILER_VERSION_INTERNAL DEC(__ti_version__)
#elif defined(__clang__)
# define COMPILER_ID "Clang"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__))
# define COMPILER_ID "LCC"
# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100)
# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100)
# if defined(__LCC_MINOR__)
# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__)
# endif
# if defined(__GNUC__) && defined(__GNUC_MINOR__)
# define SIMULATE_ID "GNU"
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
# if defined(__GNUC_PATCHLEVEL__)
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
# endif
# endif
#elif defined(__GNUC__) || defined(__GNUG__)
# define COMPILER_ID "GNU"
# if defined(__GNUC__)
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
# else
# define COMPILER_VERSION_MAJOR DEC(__GNUG__)
# endif
# if defined(__GNUC_MINOR__)
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
# endif
# if defined(__GNUC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
# endif
#elif defined(_MSC_VER)
# define COMPILER_ID "MSVC"
/* _MSC_VER = VVRR */
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
# if defined(_MSC_FULL_VER)
# if _MSC_VER >= 1400
/* _MSC_FULL_VER = VVRRPPPPP */
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
# else
/* _MSC_FULL_VER = VVRRPPPP */
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
# endif
# endif
# if defined(_MSC_BUILD)
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
# endif
#elif defined(_ADI_COMPILER)
# define COMPILER_ID "ADSP"
#if defined(__VERSIONNUM__)
/* __VERSIONNUM__ = 0xVVRRPPTT */
# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF)
# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF)
# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF)
# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF)
#endif
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
# define COMPILER_ID "IAR"
# if defined(__VER__) && defined(__ICCARM__)
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__))
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
# endif
#elif defined(__DCC__) && defined(_DIAB_TOOL)
# define COMPILER_ID "Diab"
# define COMPILER_VERSION_MAJOR DEC(__VERSION_MAJOR_NUMBER__)
# define COMPILER_VERSION_MINOR DEC(__VERSION_MINOR_NUMBER__)
# define COMPILER_VERSION_PATCH DEC(__VERSION_ARCH_FEATURE_NUMBER__)
# define COMPILER_VERSION_TWEAK DEC(__VERSION_BUG_FIX_NUMBER__)
/* These compilers are either not known or too old to define an
identification macro. Try to identify the platform and guess that
it is the native compiler. */
#elif defined(__hpux) || defined(__hpua)
# define COMPILER_ID "HP"
#else /* unknown compiler */
# define COMPILER_ID ""
#endif
/* Construct the string literal in pieces to prevent the source from
getting matched. Store it in a pointer rather than an array
because some compilers will just produce instructions to fill the
array rather than assigning a pointer to a static array. */
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
#ifdef SIMULATE_ID
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
#endif
#ifdef __QNXNTO__
char const* qnxnto = "INFO" ":" "qnxnto[]";
#endif
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
#endif
#define STRINGIFY_HELPER(X) #X
#define STRINGIFY(X) STRINGIFY_HELPER(X)
/* Identify known platforms by name. */
#if defined(__linux) || defined(__linux__) || defined(linux)
# define PLATFORM_ID "Linux"
#elif defined(__MSYS__)
# define PLATFORM_ID "MSYS"
#elif defined(__CYGWIN__)
# define PLATFORM_ID "Cygwin"
#elif defined(__MINGW32__)
# define PLATFORM_ID "MinGW"
#elif defined(__APPLE__)
# define PLATFORM_ID "Darwin"
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
# define PLATFORM_ID "Windows"
#elif defined(__FreeBSD__) || defined(__FreeBSD)
# define PLATFORM_ID "FreeBSD"
#elif defined(__NetBSD__) || defined(__NetBSD)
# define PLATFORM_ID "NetBSD"
#elif defined(__OpenBSD__) || defined(__OPENBSD)
# define PLATFORM_ID "OpenBSD"
#elif defined(__sun) || defined(sun)
# define PLATFORM_ID "SunOS"
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
# define PLATFORM_ID "AIX"
#elif defined(__hpux) || defined(__hpux__)
# define PLATFORM_ID "HP-UX"
#elif defined(__HAIKU__)
# define PLATFORM_ID "Haiku"
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
# define PLATFORM_ID "BeOS"
#elif defined(__QNX__) || defined(__QNXNTO__)
# define PLATFORM_ID "QNX"
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
# define PLATFORM_ID "Tru64"
#elif defined(__riscos) || defined(__riscos__)
# define PLATFORM_ID "RISCos"
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
# define PLATFORM_ID "SINIX"
#elif defined(__UNIX_SV__)
# define PLATFORM_ID "UNIX_SV"
#elif defined(__bsdos__)
# define PLATFORM_ID "BSDOS"
#elif defined(_MPRAS) || defined(MPRAS)
# define PLATFORM_ID "MP-RAS"
#elif defined(__osf) || defined(__osf__)
# define PLATFORM_ID "OSF1"
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
# define PLATFORM_ID "SCO_SV"
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
# define PLATFORM_ID "ULTRIX"
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
# define PLATFORM_ID "Xenix"
#elif defined(__WATCOMC__)
# if defined(__LINUX__)
# define PLATFORM_ID "Linux"
# elif defined(__DOS__)
# define PLATFORM_ID "DOS"
# elif defined(__OS2__)
# define PLATFORM_ID "OS2"
# elif defined(__WINDOWS__)
# define PLATFORM_ID "Windows3x"
# elif defined(__VXWORKS__)
# define PLATFORM_ID "VxWorks"
# else /* unknown platform */
# define PLATFORM_ID
# endif
#elif defined(__INTEGRITY)
# if defined(INT_178B)
# define PLATFORM_ID "Integrity178"
# else /* regular Integrity */
# define PLATFORM_ID "Integrity"
# endif
# elif defined(_ADI_COMPILER)
# define PLATFORM_ID "ADSP"
#else /* unknown platform */
# define PLATFORM_ID
#endif
/* For windows compilers MSVC and Intel we can determine
the architecture of the compiler being used. This is because
the compilers do not have flags that can change the architecture,
but rather depend on which compiler is being used
*/
#if defined(_WIN32) && defined(_MSC_VER)
# if defined(_M_IA64)
# define ARCHITECTURE_ID "IA64"
# elif defined(_M_ARM64EC)
# define ARCHITECTURE_ID "ARM64EC"
# elif defined(_M_X64) || defined(_M_AMD64)
# define ARCHITECTURE_ID "x64"
# elif defined(_M_IX86)
# define ARCHITECTURE_ID "X86"
# elif defined(_M_ARM64)
# define ARCHITECTURE_ID "ARM64"
# elif defined(_M_ARM)
# if _M_ARM == 4
# define ARCHITECTURE_ID "ARMV4I"
# elif _M_ARM == 5
# define ARCHITECTURE_ID "ARMV5I"
# else
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
# endif
# elif defined(_M_MIPS)
# define ARCHITECTURE_ID "MIPS"
# elif defined(_M_SH)
# define ARCHITECTURE_ID "SHx"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__WATCOMC__)
# if defined(_M_I86)
# define ARCHITECTURE_ID "I86"
# elif defined(_M_IX86)
# define ARCHITECTURE_ID "X86"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
# if defined(__ICCARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__ICCRX__)
# define ARCHITECTURE_ID "RX"
# elif defined(__ICCRH850__)
# define ARCHITECTURE_ID "RH850"
# elif defined(__ICCRL78__)
# define ARCHITECTURE_ID "RL78"
# elif defined(__ICCRISCV__)
# define ARCHITECTURE_ID "RISCV"
# elif defined(__ICCAVR__)
# define ARCHITECTURE_ID "AVR"
# elif defined(__ICC430__)
# define ARCHITECTURE_ID "MSP430"
# elif defined(__ICCV850__)
# define ARCHITECTURE_ID "V850"
# elif defined(__ICC8051__)
# define ARCHITECTURE_ID "8051"
# elif defined(__ICCSTM8__)
# define ARCHITECTURE_ID "STM8"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__ghs__)
# if defined(__PPC64__)
# define ARCHITECTURE_ID "PPC64"
# elif defined(__ppc__)
# define ARCHITECTURE_ID "PPC"
# elif defined(__ARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__x86_64__)
# define ARCHITECTURE_ID "x64"
# elif defined(__i386__)
# define ARCHITECTURE_ID "X86"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__clang__) && defined(__ti__)
# if defined(__ARM_ARCH)
# define ARCHITECTURE_ID "ARM"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__TI_COMPILER_VERSION__)
# if defined(__TI_ARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__MSP430__)
# define ARCHITECTURE_ID "MSP430"
# elif defined(__TMS320C28XX__)
# define ARCHITECTURE_ID "TMS320C28x"
# elif defined(__TMS320C6X__) || defined(_TMS320C6X)
# define ARCHITECTURE_ID "TMS320C6x"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
# elif defined(__ADSPSHARC__)
# define ARCHITECTURE_ID "SHARC"
# elif defined(__ADSPBLACKFIN__)
# define ARCHITECTURE_ID "Blackfin"
#elif defined(__TASKING__)
# if defined(__CTC__) || defined(__CPTC__)
# define ARCHITECTURE_ID "TriCore"
# elif defined(__CMCS__)
# define ARCHITECTURE_ID "MCS"
# elif defined(__CARM__) || defined(__CPARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__CARC__)
# define ARCHITECTURE_ID "ARC"
# elif defined(__C51__)
# define ARCHITECTURE_ID "8051"
# elif defined(__CPCP__)
# define ARCHITECTURE_ID "PCP"
# else
# define ARCHITECTURE_ID ""
# endif
#elif defined(__RENESAS__)
# if defined(__CCRX__)
# define ARCHITECTURE_ID "RX"
# elif defined(__CCRL__)
# define ARCHITECTURE_ID "RL78"
# elif defined(__CCRH__)
# define ARCHITECTURE_ID "RH850"
# else
# define ARCHITECTURE_ID ""
# endif
#else
# define ARCHITECTURE_ID
#endif
/* Convert integer to decimal digit literals. */
#define DEC(n) \
('0' + (((n) / 10000000)%10)), \
('0' + (((n) / 1000000)%10)), \
('0' + (((n) / 100000)%10)), \
('0' + (((n) / 10000)%10)), \
('0' + (((n) / 1000)%10)), \
('0' + (((n) / 100)%10)), \
('0' + (((n) / 10)%10)), \
('0' + ((n) % 10))
/* Convert integer to hex digit literals. */
#define HEX(n) \
('0' + ((n)>>28 & 0xF)), \
('0' + ((n)>>24 & 0xF)), \
('0' + ((n)>>20 & 0xF)), \
('0' + ((n)>>16 & 0xF)), \
('0' + ((n)>>12 & 0xF)), \
('0' + ((n)>>8 & 0xF)), \
('0' + ((n)>>4 & 0xF)), \
('0' + ((n) & 0xF))
/* Construct a string literal encoding the version number. */
#ifdef COMPILER_VERSION
char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]";
/* Construct a string literal encoding the version number components. */
#elif defined(COMPILER_VERSION_MAJOR)
char const info_version[] = {
'I', 'N', 'F', 'O', ':',
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
COMPILER_VERSION_MAJOR,
# ifdef COMPILER_VERSION_MINOR
'.', COMPILER_VERSION_MINOR,
# ifdef COMPILER_VERSION_PATCH
'.', COMPILER_VERSION_PATCH,
# ifdef COMPILER_VERSION_TWEAK
'.', COMPILER_VERSION_TWEAK,
# endif
# endif
# endif
']','\0'};
#endif
/* Construct a string literal encoding the internal version number. */
#ifdef COMPILER_VERSION_INTERNAL
char const info_version_internal[] = {
'I', 'N', 'F', 'O', ':',
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
'i','n','t','e','r','n','a','l','[',
COMPILER_VERSION_INTERNAL,']','\0'};
#elif defined(COMPILER_VERSION_INTERNAL_STR)
char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]";
#endif
/* Construct a string literal encoding the version number components. */
#ifdef SIMULATE_VERSION_MAJOR
char const info_simulate_version[] = {
'I', 'N', 'F', 'O', ':',
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
SIMULATE_VERSION_MAJOR,
# ifdef SIMULATE_VERSION_MINOR
'.', SIMULATE_VERSION_MINOR,
# ifdef SIMULATE_VERSION_PATCH
'.', SIMULATE_VERSION_PATCH,
# ifdef SIMULATE_VERSION_TWEAK
'.', SIMULATE_VERSION_TWEAK,
# endif
# endif
# endif
']','\0'};
#endif
/* Construct the string literal in pieces to prevent the source from
getting matched. Store it in a pointer rather than an array
because some compilers will just produce instructions to fill the
array rather than assigning a pointer to a static array. */
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
#define CXX_STD_98 199711L
#define CXX_STD_11 201103L
#define CXX_STD_14 201402L
#define CXX_STD_17 201703L
#define CXX_STD_20 202002L
#define CXX_STD_23 202302L
#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG)
# if _MSVC_LANG > CXX_STD_17
# define CXX_STD _MSVC_LANG
# elif _MSVC_LANG == CXX_STD_17 && defined(__cpp_aggregate_paren_init)
# define CXX_STD CXX_STD_20
# elif _MSVC_LANG > CXX_STD_14 && __cplusplus > CXX_STD_17
# define CXX_STD CXX_STD_20
# elif _MSVC_LANG > CXX_STD_14
# define CXX_STD CXX_STD_17
# elif defined(__INTEL_CXX11_MODE__) && defined(__cpp_aggregate_nsdmi)
# define CXX_STD CXX_STD_14
# elif defined(__INTEL_CXX11_MODE__)
# define CXX_STD CXX_STD_11
# else
# define CXX_STD CXX_STD_98
# endif
#elif defined(_MSC_VER) && defined(_MSVC_LANG)
# if _MSVC_LANG > __cplusplus
# define CXX_STD _MSVC_LANG
# else
# define CXX_STD __cplusplus
# endif
#elif defined(__NVCOMPILER)
# if __cplusplus == CXX_STD_17 && defined(__cpp_aggregate_paren_init)
# define CXX_STD CXX_STD_20
# else
# define CXX_STD __cplusplus
# endif
#elif defined(__INTEL_COMPILER) || defined(__PGI)
# if __cplusplus == CXX_STD_11 && defined(__cpp_namespace_attributes)
# define CXX_STD CXX_STD_17
# elif __cplusplus == CXX_STD_11 && defined(__cpp_aggregate_nsdmi)
# define CXX_STD CXX_STD_14
# else
# define CXX_STD __cplusplus
# endif
#elif (defined(__IBMCPP__) || defined(__ibmxl__)) && defined(__linux__)
# if __cplusplus == CXX_STD_11 && defined(__cpp_aggregate_nsdmi)
# define CXX_STD CXX_STD_14
# else
# define CXX_STD __cplusplus
# endif
#elif __cplusplus == 1 && defined(__GXX_EXPERIMENTAL_CXX0X__)
# define CXX_STD CXX_STD_11
#else
# define CXX_STD __cplusplus
#endif
const char* info_language_standard_default = "INFO" ":" "standard_default["
#if CXX_STD > CXX_STD_23
"26"
#elif CXX_STD > CXX_STD_20
"23"
#elif CXX_STD > CXX_STD_17
"20"
#elif CXX_STD > CXX_STD_14
"17"
#elif CXX_STD > CXX_STD_11
"14"
#elif CXX_STD >= CXX_STD_11
"11"
#else
"98"
#endif
"]";
const char* info_language_extensions_default = "INFO" ":" "extensions_default["
#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \
defined(__TI_COMPILER_VERSION__) || defined(__RENESAS__)) && \
!defined(__STRICT_ANSI__)
"ON"
#else
"OFF"
#endif
"]";
/*--------------------------------------------------------------------------*/
int main(int argc, char* argv[])
{
int require = 0;
require += info_compiler[argc];
require += info_platform[argc];
require += info_arch[argc];
#ifdef COMPILER_VERSION_MAJOR
require += info_version[argc];
#endif
#if defined(COMPILER_VERSION_INTERNAL) || defined(COMPILER_VERSION_INTERNAL_STR)
require += info_version_internal[argc];
#endif
#ifdef SIMULATE_ID
require += info_simulate[argc];
#endif
#ifdef SIMULATE_VERSION_MAJOR
require += info_simulate_version[argc];
#endif
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
require += info_cray[argc];
#endif
require += info_language_standard_default[argc];
require += info_language_extensions_default[argc];
(void)argv;
return require;
}
Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More