Compare commits
105
Commits
@@ -0,0 +1,244 @@
|
||||
# Repository Guidelines
|
||||
|
||||
Guide for AI assistants working in the MARTe2 Integrated Components repository.
|
||||
Focuses on non-obvious facts: commands, conventions, cross-module contracts, and
|
||||
gotchas that are not self-evident from a single file read.
|
||||
|
||||
## Project Overview
|
||||
|
||||
MARTe2 component library with **two independent real-time data paths** sharing
|
||||
one binary wire protocol (`Common/UDP/UDPSProtocol.h`):
|
||||
|
||||
1. **Streaming path** — `UDPStreamer` DataSource serialises DDB signals into UDPS
|
||||
binary packets on UDP → `StreamHub` (headless C++ hub: ring buffers, LTTB
|
||||
decimation, trigger FSM, history writer, binary recorder) → WebSocket 8090 →
|
||||
clients (browser SPA, native ImGui, native Qt).
|
||||
2. **Debug path** — `DebugService` 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 (UDPS trace telemetry), TCP 8082
|
||||
(`TcpLogger` log forward).
|
||||
|
||||
## Architecture & Data Flow
|
||||
|
||||
```
|
||||
[SineArrayGAM/TimeArrayGAM] → DDB → UDPStreamer (UDPS over UDP)
|
||||
├─→ UDPStreamerClient (input DS back into a MARTe2 RT app, round-trip)
|
||||
└─→ StreamHub: UDPSourceSession (receive thread → SignalRingBuffer)
|
||||
→ push loop @30Hz: LTTB decimate temporal sigs → WS binary frames → clients
|
||||
DebugService: patches broker builders at Initialise(); TCP 8080 commands,
|
||||
UDP 8081 telemetry, TcpLogger 8082 (REPORT_ERROR → "LOG <LEVEL> <desc>" lines)
|
||||
```
|
||||
|
||||
- **Wire protocol**: `Common/UDP/UDPSProtocol.h` is the canonical spec (17-byte
|
||||
packed header, magic `0x53504455` 'UDPS', 136-byte signal descriptors,
|
||||
CONFIG/DATA/ACK/CONNECT/DISCONNECT packet types, quant/time/publish modes).
|
||||
Deliberately MARTe2-free so Go clients reuse it. **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/protocol.go`), and JS parsers
|
||||
(`Client/udpstreamer/static/`, `Client/debugger/static/`). Any protocol change
|
||||
must be mirrored in all of them.
|
||||
- **WS protocol** has two implementations — Go hub (`Common/Client/go/wshub`) and
|
||||
C++ StreamHub — that must behave identically; every client (SPA, ImGui, Qt)
|
||||
must satisfy both. JSON text frames for commands/events (`addSource`,
|
||||
`removeSource`, `setTrigger`, `arm`, `zoom`, `historyZoom`, `recStart`…), binary
|
||||
frames for data pushes (live v1 + trigger capture v2).
|
||||
- **Threading model**: RT threads only spinlock+memcpy (`FastPollingMutexSem`);
|
||||
all socket I/O, fragmentation, and reassembly lives on background
|
||||
`SingleThreadService` threads. StreamHub: per-session UDPSClient receive
|
||||
threads + WS accept/read threads + one push loop.
|
||||
- **DebugService patching**: `PatchRegistry()` replaces the ObjectBuilder for 11
|
||||
`MemoryMap*Broker` classes; runs only when `ControlPort > 0`; static guard
|
||||
against double-patching; wrappers persist for process lifetime.
|
||||
|
||||
## Key Directories
|
||||
|
||||
| Path | Purpose |
|
||||
|---|---|
|
||||
| `Source/Components/DataSources/UDPStreamer/` | Output DataSource; UDP I/O on bg thread, RT thread only spinlock+memcpy in `Synchronise()` |
|
||||
| `Source/Components/DataSources/UDPStreamerClient/` | Input DataSource (shared `UDPSClient`), double-buffered ready/scratch |
|
||||
| `Source/Components/GAMs/` | `SineArrayGAM` (float32 sine, continuous phase), `TimeArrayGAM` (us-timer → per-sample timestamp array; `Anchor = FirstSample|LastSample|Continuous`, use `Continuous` for contiguous sources so a lost RT cycle cannot hole the time base) |
|
||||
| `Source/Components/Interfaces/DebugService/` | Registry patching, `DebugBrokerWrapper.h`, TCP/UDP services |
|
||||
| `Source/Components/Interfaces/TCPLogger/` | `LoggerConsumerI` forwarding `REPORT_ERROR` to ≤8 TCP clients |
|
||||
| `Source/Components/Interfaces/UDPStream/` | Plain-C++ helpers (not MARTe2 Objects): `UDPSClient` (auto-reconnect + fragment reassembly), `UDPSServer` (not thread-safe — owner's Execute thread only) |
|
||||
| `Source/Applications/StreamHub/` | Standalone app (links MARTe2 core): `StreamHub`, `UDPSourceSession`, `WSServer`, `TriggerEngine`, `HistoryWriter`, `BinaryRecorder`, `LTTB`, `SignalRingBuffer` |
|
||||
| `Common/UDP/` | Canonical wire protocol (header-only, MARTe2-free) |
|
||||
| `Common/Client/go/` | Go mirror: `udpsprotocol` (decoder), `wshub` (WS hub client) |
|
||||
| `Client/udpstreamer/` | Go legacy direct-UDP oscilloscope web UI (connects straight to UDPStreamer, no StreamHub) |
|
||||
| `Client/webui/` | Go thin static server; SPA talks WS directly to C++ StreamHub (discovers via `GET /hub`) |
|
||||
| `Client/debugger/` | Go debug web UI for DebugService |
|
||||
| `Client/streamhub/` | Native ImGui+SDL2+OpenGL oscilloscope (C++17, no MARTe2) |
|
||||
| `Client/streamhub-qt/` | Native Qt Widgets oscilloscope (Qt6 preferred, Qt5 fallback) |
|
||||
| `Test/` | GTest, legacy Integration tests, Configurations (.cfg), E2E suite |
|
||||
| `Docs/` | Per-component reference: `Protocol.md`, `UDPStreamer.md`, `StreamHub-{API,UserGuide,Developer}.md`, `DebugService.md`, `WebUI.md`, `Tutorial.md`, `E2E-Suite.md` |
|
||||
|
||||
## Development Commands
|
||||
|
||||
`source env.sh` is **mandatory** before any MARTe2 build or run (sets
|
||||
`MARTe2_DIR`, `MARTe2_Components_DIR`, `TARGET=x86-linux`, `LD_LIBRARY_PATH`).
|
||||
The E2E scripts source it themselves; a bare `make` from a fresh shell will not
|
||||
work. `run_streamhub.sh` hard-errors if `MARTe2_DIR` is unset.
|
||||
|
||||
```bash
|
||||
source env.sh
|
||||
|
||||
make -f Makefile.gcc core # 7 components (UDPStream interface FIRST, then UDPStreamer, UDPStreamerClient, GAMs, TCPLogger, DebugService)
|
||||
make -f Makefile.gcc apps # StreamHub standalone app → Build/x86-linux/StreamHub/StreamHub.ex
|
||||
make -f Makefile.gcc test # GTest + Integration test binaries + component test libs
|
||||
make -f Makefile.gcc all # core + apps + test
|
||||
make -f Makefile.gcc clean
|
||||
|
||||
# Single component:
|
||||
make -C Source/Components/GAMs/SineArrayGAM -f Makefile.gcc
|
||||
```
|
||||
|
||||
Build output → `Build/x86-linux/` mirroring `PACKAGE` paths (both `libX.so` and
|
||||
`X.so` are produced). `compile_commands.json` (repo root, gitignored) feeds
|
||||
LSP/clangd; CMake clients export their own into `Client/*/build/`.
|
||||
|
||||
### Non-MARTe2 clients (no env.sh needed)
|
||||
|
||||
```bash
|
||||
cd Common/Client/go && go build ./...
|
||||
cd Client/debugger && go build ./...
|
||||
cd Client/streamhub && cmake -B build -DCMAKE_BUILD_TYPE=Release && cmake --build build
|
||||
cd Client/streamhub-qt && cmake -B build && cmake --build build
|
||||
```
|
||||
|
||||
### Key scripts
|
||||
|
||||
| Script | Purpose |
|
||||
|---|---|
|
||||
| `./run_streamhub.sh` | Demo stack: build + launch MARTe2 app + StreamHub, optional web (`-w`) / ImGui (`-g`) clients. Flags `-m/-c` MARTe2 dirs, `-b TARGET`, `-p WS_PORT`, `-n MAX_POINTS` (actual default 1000000, header says 10000), `-s` skip build. Generates temp hub cfg with `+History`/`+Recorder` blocks in `/tmp`. Ctrl-C kills all. |
|
||||
| `./Test/E2E/suite/run_e2e.sh` | Full E2E: 57-scenario matrix + stress + unit suites + gcov coverage + Typst PDF report. Flags: `--skip-build`, `--only <id>`, `--pdf-only`, `--skip-coverage`, `--skip-stress`, `--skip-datasources`, `--skip-recorder`, `--skip-debug`, `--skip-tcplogger` |
|
||||
| `./Test/E2E/suite/run_stress.sh` | Capacity harness: sweeps one load axis at a time (`--axis`), hard gates survival+liveness, soft gates RSS+zoom-p95 |
|
||||
|
||||
## Code Conventions & Common Patterns
|
||||
|
||||
- **No STL in `Source/Components/**` (and StreamHub)**: use `StreamString` (not
|
||||
`std::string`), `FastPollingMutexSem`/`EventSem` (not `std::mutex`/threads),
|
||||
fixed arrays / MARTe2 `Vector<T>` (not `std::vector`), `REPORT_ERROR` /
|
||||
`REPORT_ERROR_STATIC` macros (no exceptions). C stdlib is fine. Heap
|
||||
`new`/`delete[]` is normal. STL/C++17 is fine in `Client/streamhub/` and
|
||||
`Client/streamhub-qt/`.
|
||||
- **RT hot-path rule**: `FastPollingMutexSem` on real-time hot paths, never OS
|
||||
mutexes; RT cycle must not block on the scheduler.
|
||||
- **Class registration**: `CLASS_REGISTER_DECLARATION()` in the class `public:`
|
||||
section of the header; `CLASS_REGISTER(Name, "1.0")` at the end of the `.cpp`
|
||||
inside `namespace MARTe`. Every component `.cpp` ends with it.
|
||||
- **EUPL v1.1 license headers** on all C++ sources and `Makefile.inc` — preserve
|
||||
on new files.
|
||||
- **Per-component build**: each dir has one-line `Makefile.gcc` wrapper
|
||||
(`include Makefile.inc`) + `Makefile.inc` declaring `OBJSX`, `PACKAGE`,
|
||||
`ROOT_DIR`, `INCLUDES` (re-declared per file, ~12 MARTe2 layer dirs),
|
||||
`LIBRARIES`, including `MakeStdLibDefs.$(TARGET)` then
|
||||
`MakeStdLibRules.$(TARGET)`. Generated `depends.x86-linux` (gcc -MM) is
|
||||
committed but **never hand-edited** — delete to regenerate.
|
||||
- **Qt client**: `QT_NO_KEYWORDS` is required (reused `Protocol.h` structs have
|
||||
members named `signals`); Qt classes use `Q_SIGNALS`/`Q_SLOTS`/`Q_EMIT`. Run
|
||||
with long options: `--host HOST --port 8090` (single-dash misparsed). Single
|
||||
GUI thread, 60 Hz QTimer repaint.
|
||||
- **StreamHub config** is *not* a MARTe2 `RealTimeApplication`: `Hub = { WSPort
|
||||
MaxPoints PushRate MaxPushPoints RingTemporal RingScalar RingMaxMB AllowedOrigins
|
||||
+Recorder{...} Sources={id={Label Addr Port}} }`. `AllowedOrigins` is the
|
||||
WebSocket Origin allowlist — without it a browser serving the SPA from a
|
||||
different port than the hub is rejected 403.
|
||||
`+History` keys: `Directory` (required),
|
||||
`DurationHours` (1), `Decimation` (1), `FlushIntervalSec` (5),
|
||||
`MinDiskFreeMB` (500). `.shist` files: 64-byte header ('SHR1') + circular
|
||||
(t,v) float64 pairs.
|
||||
- **UDPStreamer config**: `Port` (44500; multicast data = `DataPort`, default
|
||||
`Port+1`), `MaxPayloadSize` (1400), `PublishingMode` `Strict`/`Accumulate`,
|
||||
per-signal `Signals={Name={Type,Unit,NumberOfDimensions,NumberOfElements,
|
||||
TimeMode}}` with `TimeMode` `PacketTime`/`FirstSample`/`LastSample`/`FullArray`;
|
||||
multicast needs `MulticastGroup` + `Interface`.
|
||||
|
||||
## Important Files
|
||||
|
||||
- `env.sh` — environment; source first, always.
|
||||
- `Makefile.gcc` / `Makefile.inc` (root) — build orchestration.
|
||||
- `Common/UDP/UDPSProtocol.h` — canonical wire format; changing it triggers the
|
||||
4-way mirror checklist above.
|
||||
- `Source/Applications/StreamHub/main.cpp` — hub entry (`[-cfg file.cfg]
|
||||
[-port N] [-maxPoints N]`); hub **must be heap-allocated** (~128 MB, exceeds
|
||||
the 8 MB stack).
|
||||
- `Test/Configurations/*.cfg` — MARTe2 app configs (`$App = { Class =
|
||||
RealTimeApplication }` with `+Functions`, `+DataSources`, `+States`, `+Timings`
|
||||
blocks); `streamhub_demo.cfg` and `TestApp.cfg` are good templates.
|
||||
- `Test/E2E/suite/{scenarios,gen_data,gen_cfg,validate_waveform,stress}.py` —
|
||||
declarative scenario matrix and generators consumed identically by the Go
|
||||
chain-client and validators.
|
||||
- `Client/debugger/main.go` — `-addr :7777` default, `-enable-dangerous-commands`
|
||||
safety gate (CR-4) for FORCE/PAUSE/RESUME/STEP/BREAK/MSG.
|
||||
|
||||
## Runtime/Tooling Preferences
|
||||
|
||||
- **OS**: Linux x86_64 (`TARGET=x86-linux`). External deps live outside this
|
||||
repo: `MARTe2_DIR` (default `~/workspace/MARTe2`) and
|
||||
`MARTe2_Components_DIR` (default `~/workspace/MARTe2-components`) — edit
|
||||
`env.sh` if they differ. `env.sh`'s `LD_LIBRARY_PATH` does **not** cover
|
||||
UDPStreamerClient/UDPStream lib dirs.
|
||||
- **C++**: MARTe2 `Makefile.gcc` wrapper system, gtest-1.7.0 for tests.
|
||||
- **Go**: `go 1.21`; modules use `replace marte2/common => ../../Common/Client/go`
|
||||
(`gorilla/websocket` v1.5.1). Go binaries are gitignored.
|
||||
- **ImGui client**: needs SDL2; CMake FetchContent pins Dear ImGui **v1.91.8** +
|
||||
ImPlot **v0.17** (`implot_items.cpp` is a slow -O3 TU, ~2 min rebuild).
|
||||
- **Qt client**: Qt6 preferred, Qt5 fallback, Widgets + WebSockets, custom
|
||||
QPainter plotting (no QtCharts).
|
||||
- **E2E report**: `typst compile E2E_Report.typ`; Python 3 + numpy for the suite.
|
||||
- Remove `vgore.*` core dumps when you see them; they are not gitignored.
|
||||
|
||||
## Testing & QA
|
||||
|
||||
Four test layers; `env.sh` + built stack required for all but the standalone
|
||||
ones. Only `tests_py.py`, Go tests, and the built C++ test binaries run
|
||||
standalone.
|
||||
|
||||
```bash
|
||||
./Build/x86-linux/GTest/MainGTest.ex --gtest_filter='Name*' # C++ GTest
|
||||
./Build/x86-linux/Test/Integration/Integration/IntegrationTests.ex # legacy DebugService runtime tests
|
||||
cd Test/E2E/suite/client && go test ./... # Go chain-client unit tests
|
||||
cd Test/E2E/suite && python3 -m unittest tests_py # framework logic, standalone
|
||||
```
|
||||
|
||||
- **GTest**: `MainGTest.ex` currently holds only `DebugServiceGTest`
|
||||
(TraceRingBuffer SPSC, DebugSignalInfo, BreakOp). Component GTests
|
||||
(`UDPStreamerGTest.cpp` ~46 cases, `StreamHubTest.a`, `UDPStreamerClientTest.a`)
|
||||
compile **as libraries only — no standalone executable**.
|
||||
- **Legacy IntegrationTests.ex**: 9 printf-narrated DebugService runtime tests,
|
||||
always returns 0; `collect.py` parses stdout blocks.
|
||||
- **E2E suite** (`run_e2e.sh`): 57 curated scenarios (s01–s57) across kinds
|
||||
`chain`/`direct`/`recorder`/`debug`/`debug_pause_resume`/`tcplogger`, driven
|
||||
against live MARTeApp.ex + StreamHub.ex + Go chain-client. `scenarios.py` is a
|
||||
curated covering set: **every configurable UDPStreamer option value appears in
|
||||
≥1 scenario** — add a scenario when adding an option.
|
||||
- **Oracle gates** (`validate_waveform.py`): **fidelity** (every received value
|
||||
within `tol` of ground truth; 0 for un-quantised ints, float epsilon for
|
||||
un-quantised floats, `quant_step/2 + 1e-6·range` for quantised) is the
|
||||
**correctness gate**. **Shape** is a *gross* sanity gate + tracked metric
|
||||
(`corr >= 0.5`, `nRMSE <= 0.30` relaxed by quant step, frequency searched
|
||||
±5% band); a correct sinusoid yields corr ~0.82–0.98, wrong frequency
|
||||
collapses to ~0.00. Do **not** tighten shape into a correctness gate —
|
||||
timestamp calibration (Phase-A) is pending.
|
||||
- **Stress** (`run_stress.sh`): 7 axes (signal size/count/fan-out/sources/WS
|
||||
clients/zoom rate), hard gates survival+liveness, soft gates RSS+zoom-p95.
|
||||
- **Coverage**: `--cpp-coverage` rebuilds with gcov, captures via `lcov`
|
||||
restricted to `Source/*` + `Test/*`, then restores a clean build.
|
||||
- Artifacts → `Build/x86-linux/E2E/chain/`: `results.json` (XFAIL/XPASS for
|
||||
`known_issue` markers), `report_data.json`, `history.jsonl`, `trend_*.png`,
|
||||
`E2E_Report.pdf`; stress → `stress/stress_results.json`.
|
||||
|
||||
## Ports Reference (defaults)
|
||||
|
||||
| Port | Protocol | Component | Purpose |
|
||||
|---|---|---|---|
|
||||
| 44500 | UDP | UDPStreamer | scalar signals (unicast control + data) |
|
||||
| 44501/44502 | UDP | UDPStreamer | packed arrays (FirstSample/LastSample, FullArray) |
|
||||
| 44503 | UDP | UDPStreamer | multicast data (group 239.0.0.1) |
|
||||
| 8080 | TCP | DebugService | text command channel (one client at a time, newline-terminated) |
|
||||
| 8081 | UDP | DebugService | trace telemetry (UDPS format) |
|
||||
| 8082 | TCP | TcpLogger | REPORT_ERROR log forward |
|
||||
| 8090 | TCP/WS | StreamHub | WebSocket (commands + binary data) |
|
||||
| 7777 | TCP | Client/debugger | debug web UI (older docs say 9090; current flag is `-addr`) |
|
||||
| 8080 | TCP | Client/udpstreamer, Client/webui | web UI listen (collides with DebugService in combined demos — scripts adjust) |
|
||||
+127
-4
@@ -314,7 +314,7 @@ Hub-side trigger with the web client's semantics (config: signal key
|
||||
```
|
||||
IDLE →[arm]→ ARMED
|
||||
ARMED →[edge crossing]→ COLLECTING (latches trigTime, pre/postSec)
|
||||
COLLECTING →[post window + margin elapsed]→ TRIGGERED (broadcast binary v2 capture)
|
||||
COLLECTING →[every source produced past the window]→ TRIGGERED (broadcast binary v2 capture)
|
||||
TRIGGERED →[auto-rearm (normal, ~200 ms) | rearm (single)]→ ARMED
|
||||
any →[disarm]→ IDLE
|
||||
```
|
||||
@@ -325,6 +325,30 @@ sample of the configured signal. The capture is assembled in the push loop from
|
||||
LTTB-capped at 20 000 points/signal, and broadcast as a binary version-2 frame.
|
||||
A `stopped` flag (`trigStop`) freezes auto-rearm.
|
||||
|
||||
COLLECTING is left on the **data's** clock, not `clock_gettime()`: `trigTime`
|
||||
comes from sample timestamps, and a source that free-runs on its own clock sits
|
||||
seconds away from wall time, so a wall-clock deadline chops exactly that offset
|
||||
off every capture's tail. `UDPSourceSession::ProducerNewestTime()` reports how
|
||||
far a source has produced — counting only signals actually timestamped from a
|
||||
time signal, since PACKET-timed ones (the time array itself included) are
|
||||
stamped on arrival and would just report "now".
|
||||
|
||||
Sources are harvested **one at a time**, each as soon as *it* passes
|
||||
`trigTime + postSec + 0.15 s` (`BeginTriggerCapture` / `HarvestTriggerCapture` /
|
||||
`FinishTriggerCapture`, the frame accumulating across push ticks). Making every
|
||||
source wait for the slowest lets the leaders' rings roll past the pre-trigger
|
||||
region before it is ever read. A 2 s wall-clock watchdog per capture bounds the
|
||||
wait for a source that stopped advancing; it is harvested short, with a warning
|
||||
naming the source and how far it got.
|
||||
|
||||
Because `RingTemporal` only holds ~1 s at 1 MSps, `setTrigger` publishes the
|
||||
requested window and the push loop calls `GrowRingsForTrigger()`: each ring
|
||||
measures its own rate (`Count() / TimeSpan()` — UDPS sources usually report
|
||||
`samplingRate = 0`) and is grown in place to `rate × (window + 0.5 s) × 1.2`,
|
||||
clamped per signal to `RingMaxMB`. `SignalRingBuffer::Grow()` preserves
|
||||
contents *and* `totalWritten`, so live push cursors stay valid. Without this a
|
||||
long window only ever captures its tail.
|
||||
|
||||
### Configuration File (MARTe2 cfg format)
|
||||
|
||||
```
|
||||
@@ -334,9 +358,11 @@ Hub = {
|
||||
PushRate = 30 // push loop Hz
|
||||
MaxPushPoints = 50 // LTTB cap per signal per tick
|
||||
StatsRate = 1 // stats broadcast Hz
|
||||
RingTemporal = 1000000 // ring capacity (points) for multi-element signals
|
||||
RingTemporal = 1000000 // initial ring capacity (points) for multi-element signals
|
||||
RingScalar = 100000 // ring capacity (points) for scalar signals
|
||||
RingMaxMB = 128 // per-signal ceiling when a trigger window grows a ring
|
||||
SourcesFile = "streamhub_sources.json" // dynamic-source persistence
|
||||
AllowedOrigins = "http://127.0.0.1:8099,http://localhost:8099" // see below
|
||||
Sources = {
|
||||
App1 = {
|
||||
Label = "MARTe2 App 1"
|
||||
@@ -358,6 +384,16 @@ Sources added at runtime (`addSource`) get generated ids `s1, s2, …`;
|
||||
`saveSources` persists them to `SourcesFile` (JSON array of
|
||||
`{label, addr, multicastGroup?, dataPort?}`), reloaded at start-up.
|
||||
|
||||
`AllowedOrigins` is a comma/space-separated allowlist of `scheme://host[:port]`
|
||||
values accepted in the WebSocket `Origin` header (max 8 entries, 128 chars
|
||||
each), matching the Go hub's option. Without it the handshake only accepts an
|
||||
`Origin` whose host matches the request `Host` — so a browser that loaded the
|
||||
SPA from a *different* port than the hub (the `run_streamhub.sh` layout, SPA on
|
||||
8099 and hub on 8090) is rejected with 403. Non-browser clients send no `Origin`
|
||||
and are unaffected. This is the CSWSH guard of RFC 6455 §10.2: browsers attach
|
||||
cookies to cross-origin WebSocket handshakes, so `Origin` is the only thing
|
||||
distinguishing a legitimate page from an attacker's.
|
||||
|
||||
### Build
|
||||
|
||||
```bash
|
||||
@@ -380,7 +416,9 @@ binary frames carry data push payloads.
|
||||
| `ping` | — | Hub replies `{"type":"pong"}` |
|
||||
| `addSource` | `label`, `addr` (`"host:port"`), `multicastGroup?`, `dataPort?` | Connect to a new UDPS source; hub assigns id `s1, s2, …` |
|
||||
| `removeSource` | `id` | Disconnect and remove a source |
|
||||
| `saveSources` | — | Persist the current dynamic source list to `SourcesFile` (JSON) |
|
||||
| `saveSources` | — | Persist the dynamic source list **and** the calibration table to `SourcesFile`; replies `configSaved` |
|
||||
| `setCalibration` | `source` (label), `signal` (base name), `scale`, `offset`, `unit` | Record `value = raw × scale + offset` for one signal; metadata only, the hub never applies it. Identity entries are deleted. Replies with a `calibration` broadcast |
|
||||
| `reloadConfig` | — | Re-read `SourcesFile`: calibration replaced wholesale, missing sources added, live sources never touched; replies `configReloaded` |
|
||||
| `getSources` | — | Trigger `sources` broadcast |
|
||||
| `getConfig` | `sourceId` | Trigger `config` broadcast for one source |
|
||||
| `getStats` | — | Trigger `stats` broadcast |
|
||||
@@ -399,11 +437,33 @@ binary frames carry data push payloads.
|
||||
| `sources` | `sources:[{id, label, addr:"host:port", state}]` | On connect; after add/remove/getSources; on first CONFIG |
|
||||
| `config` | `sourceId`, `publishMode`, `signals:[{name, typeCode, quantType, numDimensions, numRows, numCols, rangeMin, rangeMax, timeMode, samplingRate, timeSignalIdx, unit}]` | After CONFIG received from source |
|
||||
| `stats` | `sources:{id:{state, totalReceived, totalLost, rateHz, rateStdHz, fragsPerCycle, bytesPerCycle, cycleAvgMs, cycleStdMs, cycleMinMs, cycleMaxMs, cycleHistMin, cycleHistMax, cycleHist:[20]}}` | At `StatsRate` Hz |
|
||||
| `triggerState` | `state` (`"idle"`\|`"armed"`\|`"collecting"`\|`"triggered"`), `mode`, `stopped`, `trigTime?` | On any trigger FSM transition |
|
||||
| `triggerState` | `state` (`"idle"`\|`"armed"`\|`"collecting"`\|`"triggered"`), `mode`, `stopped`, `trigTime?`, `preSec?`, `postSec?` | On any trigger FSM transition |
|
||||
| `zoom` | `reqId`, `signals:{"src:sig":{t:[…], v:[…]}}` (`t` printed `%.17g`, `v` `%.9g`) | Unicast reply to `zoom` |
|
||||
| `maxPointsUpdated` | `maxPoints` | After ring buffer resize |
|
||||
| `calibration` | `cal:[{source, signal, scale, offset, unit}]` | On connect; after an accepted `setCalibration`; after a successful `reloadConfig` |
|
||||
| `configSaved` | `ok`, `path`, `error?` | In reply to `saveSources` |
|
||||
| `configReloaded` | `ok`, `path`, `error?` | In reply to `reloadConfig` |
|
||||
| `pong` | — | In reply to `ping` |
|
||||
|
||||
### Config File Format
|
||||
|
||||
`SourcesFile` is a flat JSON array of flat objects; `addr` marks a source,
|
||||
`signal` marks a calibration entry.
|
||||
|
||||
```json
|
||||
[
|
||||
{"label": "wave", "addr": "127.0.0.1:44500"},
|
||||
{"source": "wave", "signal": "Adc", "scale": 0.00030518, "offset": -1.25, "unit": "V"}
|
||||
]
|
||||
```
|
||||
|
||||
Flatness is a hard constraint: `StreamHub::LoadSourcesFile` scans from each `{`
|
||||
to the next `}`, so a nested object would truncate the parse. Both hubs read and
|
||||
write this format identically, and pre-calibration files load unchanged.
|
||||
|
||||
Calibration is applied **client-side only**. Rings, history, `zoom` replies, both
|
||||
binary frames and the trigger comparator are all in raw units.
|
||||
|
||||
### Binary Push Frame (version 1, hub → client, binary WS frame)
|
||||
|
||||
Little-endian throughout. Sent at `PushRate` Hz per source; contains **only
|
||||
@@ -498,6 +558,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
|
||||
|
||||
### `Common/Client/go/udpsprotocol`
|
||||
|
||||
+221
@@ -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
File diff suppressed because it is too large
Load Diff
@@ -30,11 +30,50 @@ make -C Source/Components/DataSources/UDPStreamer -f Makefile.gcc
|
||||
cd Common/Client/go && go build ./...
|
||||
cd Client/debugger && go build ./...
|
||||
|
||||
# Standalone C UDPS client library (no MARTe2, libc + BSD sockets only)
|
||||
cd Common/Client/c && make && make cxxcheck
|
||||
|
||||
# ImGui desktop client (not a MARTe2 component; needs SDL2)
|
||||
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/`):
|
||||
|
||||
```bash
|
||||
./Test/E2E/suite/run_e2e.sh [flags]
|
||||
```
|
||||
|
||||
Flags:
|
||||
|
||||
| Flag | Effect |
|
||||
|---|---|
|
||||
| `--skip-build` | Skip C++ component rebuild |
|
||||
| `--only <id>` | Run a single scenario by ID |
|
||||
| `--pdf-only` | Just compile the Typst PDF report |
|
||||
| `--cpp-coverage` | Instrumented gcov rebuild + lcov capture (on by default) |
|
||||
| `--skip-coverage` | Disable the coverage pass |
|
||||
| `--skip-stress` | Skip the stress matrix |
|
||||
| `--skip-datasources` | Skip `direct` scenarios |
|
||||
| `--skip-recorder` | Skip `recorder` scenarios |
|
||||
| `--skip-debug` | Skip `debug` and `debug_pause_resume` scenarios |
|
||||
| `--skip-tcplogger` | Skip `tcplogger` scenarios |
|
||||
|
||||
Scenario kinds (defined in `scenarios.py`):
|
||||
|
||||
- **chain** — full streaming pipeline: MARTe2 → UDPStreamer → StreamHub → Go `chain-client` (live/zoom/window/trigger). Validates recorded waveform against analytic/fed oracle (`validate_waveform.py`: fidelity gates correctness, sine shape-fit is a gross-sanity gate + tracked metric).
|
||||
- **direct** — MARTe2 FileReader → FileWriter round-trip, validates binary output.
|
||||
- **recorder** — MARTe2 → StreamHub with history recorder, validates recorded `.bin` file.
|
||||
- **debug / debug_pause_resume** — DebugService scenarios via the Go `debugclient`.
|
||||
- **tcplogger** — TcpLogger scenarios via the Go `debugclient`.
|
||||
|
||||
After scenarios, the suite runs unit tests + coverage (`collect.py`: C++ GTest, Go, Python; coverage uses lcov restricted to `Source/*` — the `Test/` harness is excluded), 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`). Artifacts go to `Build/x86-linux/E2E/chain/` (report, logs, PDF) and `/tmp/chain_e2e/` (scratch). Results are aggregated into `results.json` with XFAIL/XPASS handling for known issues.
|
||||
|
||||
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).
|
||||
|
||||
@@ -42,10 +81,10 @@ Build output goes to `Build/x86-linux/` (shared libs per component, `.ex` execut
|
||||
|
||||
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).
|
||||
|
||||
**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`), the Go decoder (`Common/Client/go/udpsprotocol`), and the standalone C client (`Common/Client/c`, which redeclares the constants rather than including this header, so it stays MARTe-free). Changes to the protocol must be mirrored across all of these, plus the JS client parsers.
|
||||
|
||||
**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 C++ StreamHub implement the identical protocol; both clients (browser JS and ImGui) must stay compatible with both.
|
||||
|
||||
@@ -57,3 +96,5 @@ Two independent data paths:
|
||||
- `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).
|
||||
- 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 (
|
||||
"bufio"
|
||||
@@ -17,6 +22,40 @@ import (
|
||||
"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)
|
||||
// ---------------------------------------------------------------------------
|
||||
@@ -48,6 +87,7 @@ func broadcastHub(hub *wshub.Hub, v any) {
|
||||
|
||||
type MarteController struct {
|
||||
hub *wshub.Hub
|
||||
sink func(v any)
|
||||
|
||||
mu sync.Mutex
|
||||
tcpConn net.Conn
|
||||
@@ -101,6 +141,7 @@ func NewMarteController(hub *wshub.Hub) *MarteController {
|
||||
forcedState: make(map[string]string),
|
||||
stopCh: make(chan struct{}),
|
||||
}
|
||||
mc.sink = func(v any) { broadcastHub(mc.hub, v) }
|
||||
// Register the new-client hook so connection + forced/traced state is
|
||||
// replayed to any browser that connects (or reconnects) while the server
|
||||
// already holds a live MARTe2 TCP session.
|
||||
@@ -108,6 +149,20 @@ func NewMarteController(hub *wshub.Hub) *MarteController {
|
||||
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 {
|
||||
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.mu.Unlock()
|
||||
|
||||
// Update source state so the browser shows "connecting".
|
||||
// Update source state so the browser shows "connecting". No-op headless
|
||||
// (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"),
|
||||
"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.basesMu.Unlock()
|
||||
m.discoverAcc = nil
|
||||
if m.hub != nil {
|
||||
m.hub.SetSourceState("debug", "disconnected")
|
||||
}
|
||||
}
|
||||
|
||||
func (m *MarteController) stopped() bool {
|
||||
@@ -256,11 +316,26 @@ func (m *MarteController) HandleBrowserCommand(msg []byte) {
|
||||
return
|
||||
}
|
||||
cmd, _ := data["cmd"].(string)
|
||||
if cmd != "" {
|
||||
if cmd == "" {
|
||||
return
|
||||
}
|
||||
// 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() {
|
||||
conn, err := net.DialTimeout("tcp", addr, 5*time.Second)
|
||||
if err != nil {
|
||||
broadcastHub(m.hub, map[string]any{
|
||||
m.sink(map[string]any{
|
||||
"type": "log", "time": time.Now().Format("15:04:05.000"),
|
||||
"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()
|
||||
|
||||
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
|
||||
m.writeCmd("SERVICE_INFO")
|
||||
@@ -297,7 +372,7 @@ func (m *MarteController) runTCP(host string, port int) {
|
||||
m.readLoop(conn)
|
||||
|
||||
atomic.StoreInt32(&m.connected, 0)
|
||||
broadcastHub(m.hub, map[string]any{"type": "disconnected"})
|
||||
m.sink(map[string]any{"type": "disconnected"})
|
||||
|
||||
m.mu.Lock()
|
||||
m.tcpConn = nil
|
||||
@@ -323,7 +398,7 @@ func (m *MarteController) writeCmd(cmd string) {
|
||||
silent := cmd == "STEP_STATUS" || cmd == "INFO"
|
||||
if !silent {
|
||||
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"),
|
||||
"level": "CMD", "message": fmt.Sprintf("→ %s", cmd),
|
||||
})
|
||||
@@ -465,7 +540,7 @@ func (m *MarteController) handleJSONResponse(tag, data string) {
|
||||
silent := tag == "STEP_STATUS" || tag == "INFO"
|
||||
if !silent {
|
||||
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"),
|
||||
"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
|
||||
m.rawSigsMu.RUnlock()
|
||||
if len(raw) > 0 {
|
||||
if m.hub != nil {
|
||||
m.hub.UpdateConfigForSource("debug", m.translateSignalNames(raw))
|
||||
}
|
||||
} else {
|
||||
m.synthesizeHubConfig(all)
|
||||
}
|
||||
// Re-marshal the merged list so the browser gets a single consistent blob.
|
||||
merged, _ := json.Marshal(discoverResp{Signals: all})
|
||||
broadcastHub(m.hub, map[string]any{
|
||||
m.sink(map[string]any{
|
||||
"type": "response", "tag": "DISCOVER", "data": string(merged),
|
||||
})
|
||||
return
|
||||
|
||||
case "TREE":
|
||||
broadcastHub(m.hub, map[string]any{
|
||||
m.sink(map[string]any{
|
||||
"type": "tree_node",
|
||||
"data": data,
|
||||
})
|
||||
return
|
||||
}
|
||||
broadcastHub(m.hub, map[string]any{
|
||||
m.sink(map[string]any{
|
||||
"type": "response",
|
||||
"tag": tag,
|
||||
"data": data,
|
||||
@@ -537,13 +614,13 @@ func (m *MarteController) handleTextLine(line string) {
|
||||
fmt.Sscanf(p[8:], "%d", &newLog)
|
||||
}
|
||||
}
|
||||
broadcastHub(m.hub, map[string]any{
|
||||
m.sink(map[string]any{
|
||||
"type": "response",
|
||||
"tag": "SERVICE_INFO",
|
||||
"data": line[len("OK SERVICE_INFO "):],
|
||||
})
|
||||
if newUDP > 0 || newLog > 0 {
|
||||
broadcastHub(m.hub, map[string]any{
|
||||
m.sink(map[string]any{
|
||||
"type": "service_config",
|
||||
"udp_port": newUDP,
|
||||
"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",
|
||||
"data": line,
|
||||
})
|
||||
@@ -774,7 +851,9 @@ func (m *MarteController) synthesizeHubConfig(sigs []discoverSignalJSON) {
|
||||
// buffer and limiting live streaming to the fraction of a second that
|
||||
// accumulated before the DISCOVER response arrived.
|
||||
translated := m.translateSignalNames(sigInfos)
|
||||
if m.hub != nil {
|
||||
m.hub.UpdateConfigForSource("debug", translated)
|
||||
}
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
@@ -801,7 +880,7 @@ func (m *MarteController) runDebugUDP(host string, port int) {
|
||||
if err != nil {
|
||||
msg := fmt.Sprintf("UDP bind on %s failed: %v — rebuild DebugService C++ and restart", addr, err)
|
||||
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"),
|
||||
"level": "ERROR", "message": msg,
|
||||
})
|
||||
@@ -812,7 +891,7 @@ func (m *MarteController) runDebugUDP(host string, port int) {
|
||||
conn.SetReadBuffer(10 * 1024 * 1024)
|
||||
|
||||
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"),
|
||||
"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)
|
||||
currentSigs = sigs
|
||||
currentPublishMode = pm
|
||||
if m.hub != nil {
|
||||
m.hub.UpdateConfigForSource("debug", sigs)
|
||||
m.hub.SetSourceState("debug", "connected")
|
||||
}
|
||||
|
||||
case udpsprotocol.PktData:
|
||||
if len(currentSigs) == 0 {
|
||||
@@ -888,11 +969,13 @@ func (m *MarteController) runDebugUDP(host string, port int) {
|
||||
log.Printf("[debug-udp] parse data: %v", err)
|
||||
continue
|
||||
}
|
||||
if m.hub != nil {
|
||||
for _, s := range samples {
|
||||
m.hub.PushDataForSource("debug", s)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
log.Printf("[debug-udp] stopped")
|
||||
}
|
||||
|
||||
@@ -923,7 +1006,7 @@ func (m *MarteController) runLog(host string, port int) {
|
||||
}
|
||||
level := rest[:idx]
|
||||
msg := rest[idx+1:]
|
||||
broadcastHub(m.hub, map[string]any{
|
||||
m.sink(map[string]any{
|
||||
"type": "log",
|
||||
"time": time.Now().Format("15:04:05.000"),
|
||||
"level": level,
|
||||
@@ -10,6 +10,8 @@ import (
|
||||
"net/http"
|
||||
"os"
|
||||
|
||||
"marte2debugger/controller"
|
||||
|
||||
"marte2/common/wshub"
|
||||
)
|
||||
|
||||
@@ -21,13 +23,15 @@ var staticFiles embed.FS
|
||||
func main() {
|
||||
addr := flag.String("addr", ":7777", "HTTP listen address")
|
||||
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()
|
||||
|
||||
hub := wshub.NewHub()
|
||||
sm := wshub.NewSourceManager(hub, *sourcesFile)
|
||||
hub.SetSourceManager(sm)
|
||||
|
||||
ctrl := NewMarteController(hub)
|
||||
ctrl := controller.NewMarteController(hub)
|
||||
|
||||
go hub.Run()
|
||||
|
||||
|
||||
@@ -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 _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) {
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"$schema": "https://download.qt.io/official_releases/qtcreator/latest/installer_source/jsonschemas/project.json",
|
||||
"files.exclude": [
|
||||
".qtcreator/project.json.user"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,209 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 20.0.1, 2026-08-28T12:02:58. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
<value type="QByteArray">{38f50a4f-8398-4158-8e56-9848fa0d5468}</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||
<value type="qlonglong">0</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.EditorSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="bool" key="EditorConfiguration.AutoDetect">true</value>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
|
||||
<value type="QString" key="language">Cpp</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
|
||||
<value type="QString" key="language">QmlJS</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="EditorConfiguration.CodeStyle.Count">2</value>
|
||||
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
|
||||
<value type="int" key="EditorConfiguration.IndentSize">4</value>
|
||||
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
|
||||
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
|
||||
<value type="int" key="EditorConfiguration.TabSize">8</value>
|
||||
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<valuemap type="QVariantMap" key="AutoTest.ActiveFrameworks">
|
||||
<value type="bool" key="AutoTest.Framework.Boost">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.CTest">false</value>
|
||||
<value type="bool" key="AutoTest.Framework.Catch">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.GTest">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.QtQuickTest">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.QtTest">true</value>
|
||||
</valuemap>
|
||||
<value type="bool" key="AutoTest.ApplyFilter">false</value>
|
||||
<valuemap type="QVariantMap" key="AutoTest.CheckStates"/>
|
||||
<valuelist type="QVariantList" key="AutoTest.PathFilters"/>
|
||||
<value type="int" key="AutoTest.RunAfterBuild">0</value>
|
||||
<value type="bool" key="AutoTest.UseGlobal">true</value>
|
||||
<valuemap type="QVariantMap" key="ClangTools">
|
||||
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
|
||||
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
|
||||
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
|
||||
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
|
||||
</valuemap>
|
||||
<value type="int" key="RcSync">0</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Target.0</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="QString" key="DeviceType">Desktop</value>
|
||||
<value type="bool" key="HasPerBcDcs">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{38553647-cfbc-4a75-8c5b-c589d0770ea7}</value>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/qscope/build</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
||||
<value type="UnknownType" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Default</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">WorkspaceProject.BuildConfiguration</value>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
|
||||
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.SuppressionFiles"/>
|
||||
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<value type="UnknownType" key="PE.EnvironmentAspect.Changes"></value>
|
||||
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
||||
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
|
||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey"></value>
|
||||
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">false</value>
|
||||
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">%{RunConfig:Executable:Path}</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.1">
|
||||
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.SuppressionFiles"/>
|
||||
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">RemoteDebugger.RunConfig</value>
|
||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey"></value>
|
||||
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">false</value>
|
||||
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">2</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
|
||||
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.SuppressionFiles"/>
|
||||
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<value type="UnknownType" key="PE.EnvironmentAspect.Changes"></value>
|
||||
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
||||
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
|
||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey"></value>
|
||||
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">false</value>
|
||||
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">%{RunConfig:Executable:Path}</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.1">
|
||||
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.SuppressionFiles"/>
|
||||
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">RemoteDebugger.RunConfig</value>
|
||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey"></value>
|
||||
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">false</value>
|
||||
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">2</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.TargetCount</variable>
|
||||
<value type="qlonglong">1</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>Version</variable>
|
||||
<value type="int">22</value>
|
||||
</data>
|
||||
</qtcreator>
|
||||
@@ -0,0 +1,84 @@
|
||||
# This file is used to ignore files which are generated
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
*~
|
||||
*.autosave
|
||||
*.a
|
||||
*.core
|
||||
*.moc
|
||||
*.o
|
||||
*.obj
|
||||
*.orig
|
||||
*.rej
|
||||
*.so
|
||||
*.so.*
|
||||
*_pch.h.cpp
|
||||
*_resource.rc
|
||||
*.qm
|
||||
.#*
|
||||
*.*#
|
||||
core
|
||||
!core/
|
||||
tags
|
||||
.DS_Store
|
||||
.directory
|
||||
*.debug
|
||||
Makefile*
|
||||
*.prl
|
||||
*.app
|
||||
moc_*.cpp
|
||||
ui_*.h
|
||||
qrc_*.cpp
|
||||
Thumbs.db
|
||||
*.res
|
||||
*.rc
|
||||
/.qmake.cache
|
||||
/.qmake.stash
|
||||
**/.qmlls.ini
|
||||
|
||||
# qtcreator generated files
|
||||
*.pro.user*
|
||||
*.qbs.user*
|
||||
CMakeLists.txt.user*
|
||||
|
||||
# xemacs temporary files
|
||||
*.flc
|
||||
|
||||
# Vim temporary files
|
||||
.*.swp
|
||||
|
||||
# Visual Studio generated files
|
||||
*.ib_pdb_index
|
||||
*.idb
|
||||
*.ilk
|
||||
*.pdb
|
||||
*.sln
|
||||
*.suo
|
||||
*.vcproj
|
||||
*vcproj.*.*.user
|
||||
*.ncb
|
||||
*.sdf
|
||||
*.opensdf
|
||||
*.vcxproj
|
||||
*vcxproj.*
|
||||
|
||||
# MinGW generated files
|
||||
*.Debug
|
||||
*.Release
|
||||
|
||||
# Python byte code
|
||||
*.pyc
|
||||
|
||||
# Binaries
|
||||
# --------
|
||||
*.dll
|
||||
*.exe
|
||||
|
||||
# Directories with generated files
|
||||
.moc/
|
||||
.obj/
|
||||
.pch/
|
||||
.rcc/
|
||||
.uic/
|
||||
/build*/
|
||||
/.qtcreator/
|
||||
@@ -0,0 +1,77 @@
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
project(QScope VERSION 0.1 LANGUAGES CXX)
|
||||
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets LinguistTools)
|
||||
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets LinguistTools)
|
||||
|
||||
set(TS_FILES QScope_en_001.ts)
|
||||
|
||||
set(PROJECT_SOURCES
|
||||
main.cpp
|
||||
qscopemainwindow.cpp
|
||||
qscopemainwindow.h
|
||||
qscopemainwindow.ui
|
||||
${TS_FILES}
|
||||
)
|
||||
|
||||
if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
|
||||
qt_add_executable(QScope
|
||||
MANUAL_FINALIZATION
|
||||
${PROJECT_SOURCES}
|
||||
)
|
||||
# Define target properties for Android with Qt 6 as:
|
||||
# set_property(TARGET QScope APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR
|
||||
# ${CMAKE_CURRENT_SOURCE_DIR}/android)
|
||||
# For more information, see https://doc.qt.io/qt-6/qt-add-executable.html#target-creation
|
||||
|
||||
qt_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES})
|
||||
else()
|
||||
if(ANDROID)
|
||||
add_library(QScope SHARED
|
||||
${PROJECT_SOURCES}
|
||||
)
|
||||
# Define properties for Android with Qt 5 after find_package() calls as:
|
||||
# set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android")
|
||||
else()
|
||||
add_executable(QScope
|
||||
${PROJECT_SOURCES}
|
||||
)
|
||||
endif()
|
||||
|
||||
qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES})
|
||||
endif()
|
||||
|
||||
target_link_libraries(QScope PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)
|
||||
|
||||
# Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1.
|
||||
# If you are developing for iOS or macOS you should consider setting an
|
||||
# explicit, fixed bundle identifier manually though.
|
||||
if(${QT_VERSION} VERSION_LESS 6.1.0)
|
||||
set(BUNDLE_ID_OPTION MACOSX_BUNDLE_GUI_IDENTIFIER com.example.QScope)
|
||||
endif()
|
||||
set_target_properties(QScope PROPERTIES
|
||||
${BUNDLE_ID_OPTION}
|
||||
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
|
||||
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
|
||||
MACOSX_BUNDLE TRUE
|
||||
WIN32_EXECUTABLE TRUE
|
||||
)
|
||||
|
||||
include(GNUInstallDirs)
|
||||
install(TARGETS QScope
|
||||
BUNDLE DESTINATION .
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
)
|
||||
|
||||
if(QT_VERSION_MAJOR EQUAL 6)
|
||||
qt_finalize_executable(QScope)
|
||||
endif()
|
||||
@@ -0,0 +1,3 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="en_001"></TS>
|
||||
@@ -0,0 +1,23 @@
|
||||
#include "qscopemainwindow.h"
|
||||
|
||||
#include <QApplication>
|
||||
#include <QLocale>
|
||||
#include <QTranslator>
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
QApplication a(argc, argv);
|
||||
|
||||
QTranslator translator;
|
||||
const QStringList uiLanguages = QLocale::system().uiLanguages();
|
||||
for (const QString &locale : uiLanguages) {
|
||||
const QString baseName = "QScope_" + QLocale(locale).name();
|
||||
if (translator.load(":/i18n/" + baseName)) {
|
||||
a.installTranslator(&translator);
|
||||
break;
|
||||
}
|
||||
}
|
||||
QScopeMainWindow w;
|
||||
w.show();
|
||||
return QApplication::exec();
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
#include "qscopemainwindow.h"
|
||||
#include "./ui_qscopemainwindow.h"
|
||||
|
||||
QScopeMainWindow::QScopeMainWindow(QWidget *parent)
|
||||
: QMainWindow(parent)
|
||||
, ui(new Ui::QScopeMainWindow)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
}
|
||||
|
||||
QScopeMainWindow::~QScopeMainWindow()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
#ifndef QSCOPEMAINWINDOW_H
|
||||
#define QSCOPEMAINWINDOW_H
|
||||
|
||||
#include <QMainWindow>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
namespace Ui {
|
||||
class QScopeMainWindow;
|
||||
}
|
||||
QT_END_NAMESPACE
|
||||
|
||||
class QScopeMainWindow : public QMainWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit QScopeMainWindow(QWidget *parent = nullptr);
|
||||
~QScopeMainWindow() override;
|
||||
|
||||
private:
|
||||
Ui::QScopeMainWindow *ui;
|
||||
};
|
||||
#endif // QSCOPEMAINWINDOW_H
|
||||
@@ -0,0 +1,51 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>QScopeMainWindow</class>
|
||||
<widget class="QMainWindow" name="QScopeMainWindow">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>800</width>
|
||||
<height>600</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>QScopeMainWindow</string>
|
||||
</property>
|
||||
<widget class="QWidget" name="centralwidget"/>
|
||||
<widget class="QStatusBar" name="statusbar"/>
|
||||
<widget class="QDockWidget" name="dockWidget">
|
||||
<attribute name="dockWidgetArea">
|
||||
<number>1</number>
|
||||
</attribute>
|
||||
<widget class="QWidget" name="dockWidgetContents">
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QTreeView" name="treeView"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton">
|
||||
<property name="text">
|
||||
<string>PushButton</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QToolBar" name="toolBar">
|
||||
<property name="windowTitle">
|
||||
<string>toolBar</string>
|
||||
</property>
|
||||
<attribute name="toolBarArea">
|
||||
<enum>TopToolBarArea</enum>
|
||||
</attribute>
|
||||
<attribute name="toolBarBreak">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
</widget>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -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)
|
||||
@@ -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 */
|
||||
@@ -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 */
|
||||
@@ -0,0 +1,307 @@
|
||||
/**
|
||||
* @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.hasWindow) {
|
||||
trigger_.firedPreS = msg.preSec;
|
||||
trigger_.firedPostS = msg.postSec;
|
||||
trigger_.hasFiredWin = true;
|
||||
}
|
||||
if (msg.state == "idle") {
|
||||
trigger_.hasTrigTime = false;
|
||||
trigger_.hasFiredWin = 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 */
|
||||
@@ -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 */
|
||||
@@ -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 */
|
||||
@@ -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 */
|
||||
@@ -0,0 +1,125 @@
|
||||
/**
|
||||
* @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;
|
||||
/* Window the hub latched at fire time. Not the same as windowSec/prePercent
|
||||
* above, which are editable and may have moved on since the trigger fired. */
|
||||
bool hasFiredWin = false;
|
||||
double firedPreS = 0.0;
|
||||
double firedPostS = 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 */
|
||||
@@ -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 */
|
||||
@@ -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 */
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,114 @@
|
||||
/**
|
||||
* @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;
|
||||
class QMenu;
|
||||
|
||||
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 buildVScaleMenu(QMenu* vs, VScale& evs);
|
||||
void showUnifiedVScaleMenu(const QPoint& globalPos);
|
||||
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 3 unified */
|
||||
VScale uniVS_; /* the one scale every trace shares in mode 3 */
|
||||
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 */
|
||||
@@ -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 */
|
||||
@@ -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 */
|
||||
@@ -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 */
|
||||
@@ -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 */
|
||||
@@ -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 */
|
||||
@@ -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 */
|
||||
@@ -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 */
|
||||
@@ -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 */
|
||||
@@ -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 */
|
||||
@@ -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/marte2_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 "")
|
||||
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/marte2_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/marte2_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,103 @@
|
||||
set(CMAKE_CXX_COMPILER "/usr/bin/c++")
|
||||
set(CMAKE_CXX_COMPILER_ARG1 "")
|
||||
set(CMAKE_CXX_COMPILER_ID "GNU")
|
||||
set(CMAKE_CXX_COMPILER_VERSION "16.2.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_ARCHITECTURE_FLAGS "-m;elf")
|
||||
set(CMAKE_CXX_COMPILER_LINKER_ID "GNU")
|
||||
set(CMAKE_CXX_COMPILER_LINKER_VERSION "2.47")
|
||||
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;/usr/include/c++/16/x86_64-pc-linux-gnu;/usr/include/c++/16/backward;/usr/lib/gcc/x86_64-pc-linux-gnu/16/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;/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 "")
|
||||
BIN
Binary file not shown.
@@ -0,0 +1,15 @@
|
||||
set(CMAKE_HOST_SYSTEM "Linux-7.1.8-arch1-3")
|
||||
set(CMAKE_HOST_SYSTEM_NAME "Linux")
|
||||
set(CMAKE_HOST_SYSTEM_VERSION "7.1.8-arch1-3")
|
||||
set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
|
||||
|
||||
|
||||
|
||||
set(CMAKE_SYSTEM "Linux-7.1.8-arch1-3")
|
||||
set(CMAKE_SYSTEM_NAME "Linux")
|
||||
set(CMAKE_SYSTEM_VERSION "7.1.8-arch1-3")
|
||||
set(CMAKE_SYSTEM_PROCESSOR "x86_64")
|
||||
|
||||
set(CMAKE_CROSSCOMPILING "FALSE")
|
||||
|
||||
set(CMAKE_SYSTEM_LOADED 1)
|
||||
@@ -0,0 +1,954 @@
|
||||
/* 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)
|
||||
# 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__)
|
||||
# endif
|
||||
# if defined(__IAR_COMPILERBASE__)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_COMPILERBASE__)
|
||||
# else
|
||||
# define COMPILER_VERSION_INTERNAL DEC((__IAR_SYSTEMS_ICC__ << 16))
|
||||
# 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_20 && defined(__cpp_pp_embed)
|
||||
# define CXX_STD /*CXX_STD_26*/ (CXX_STD_23 + 1)
|
||||
# elif __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.4
|
||||
|
||||
# Relative path conversion top directories.
|
||||
set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt")
|
||||
set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/martino/Projects/marte2_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.
|
||||
0cb4e5ccccdee237bca094c8b1abeca7 CMakeFiles/StreamHubQtClient_autogen
|
||||
e7f54a49cd115db46d4899f7b6078912 StreamHubQtClient_autogen/timestamp
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"InstallScripts" :
|
||||
[
|
||||
"/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/build/cmake_install.cmake"
|
||||
],
|
||||
"Parallel" : false
|
||||
}
|
||||
@@ -0,0 +1,568 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 4.4
|
||||
|
||||
# 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/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/CMakeLists.txt"
|
||||
"CMakeFiles/4.4.2/CMakeCXXCompiler.cmake"
|
||||
"CMakeFiles/4.4.2/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/CMakeCXXCompiler.cmake.in"
|
||||
"/usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp"
|
||||
"/usr/share/cmake/Modules/CMakeCXXInformation.cmake"
|
||||
"/usr/share/cmake/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake"
|
||||
"/usr/share/cmake/Modules/CMakeCommonLanguageInclude.cmake"
|
||||
"/usr/share/cmake/Modules/CMakeCompilerIdDetection.cmake"
|
||||
"/usr/share/cmake/Modules/CMakeDetermineCXXCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/CMakeDetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake"
|
||||
"/usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake"
|
||||
"/usr/share/cmake/Modules/CMakeDetermineCompilerSupport.cmake"
|
||||
"/usr/share/cmake/Modules/CMakeDetermineSystem.cmake"
|
||||
"/usr/share/cmake/Modules/CMakeFindBinUtils.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/CMakeParseImplicitIncludeInfo.cmake"
|
||||
"/usr/share/cmake/Modules/CMakeParseImplicitLinkInfo.cmake"
|
||||
"/usr/share/cmake/Modules/CMakeParseLibraryArchitecture.cmake"
|
||||
"/usr/share/cmake/Modules/CMakeSystem.cmake.in"
|
||||
"/usr/share/cmake/Modules/CMakeSystemSpecificInformation.cmake"
|
||||
"/usr/share/cmake/Modules/CMakeSystemSpecificInitialize.cmake"
|
||||
"/usr/share/cmake/Modules/CMakeTestCXXCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/CMakeTestCompilerCommon.cmake"
|
||||
"/usr/share/cmake/Modules/CMakeUnixFindMake.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/ADSP-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/ARMCC-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/ARMClang-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/AppleClang-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/Borland-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/Clang-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/Clang-DetermineCompilerInternal.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/Cray-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/CrayClang-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/Diab-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/Embarcadero-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/Fujitsu-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/GHS-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/GNU-CXX.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/GNU-FindBinUtils.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/GNU.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/HP-CXX-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/IAR-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/IBMClang-CXX-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/Intel-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/LCC-CXX-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/MSVC-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/NVHPC-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/NVIDIA-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/OrangeC-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/PGI-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/PathScale-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/PellesC-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/Renesas-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/SCO-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/TI-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/TIClang-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/Tasking-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/Watcom-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/XL-CXX-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/zOS-CXX-DetermineCompiler.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/CMakeDetermineLinkerId.cmake"
|
||||
"/usr/share/cmake/Modules/Internal/CMakeInspectCXXLinker.cmake"
|
||||
"/usr/share/cmake/Modules/Internal/CheckCommon.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/Internal/FeatureTesting.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-Determine-CXX.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/4.4.2/CMakeSystem.cmake"
|
||||
"CMakeFiles/4.4.2/CMakeCXXCompiler.cmake"
|
||||
"CMakeFiles/4.4.2/CMakeCXXCompiler.cmake"
|
||||
"CMakeFiles/4.4.2/CMakeCXXCompiler.cmake"
|
||||
"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.4
|
||||
|
||||
# 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/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt
|
||||
|
||||
# The top-level build directory on which CMake was run.
|
||||
CMAKE_BINARY_DIR = /home/martino/Projects/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp" "CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.o" "gcc" "CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.o.d"
|
||||
"/home/martino/Projects/marte2_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.4
|
||||
|
||||
# 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/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt
|
||||
|
||||
# The top-level build directory on which CMake was run.
|
||||
CMAKE_BINARY_DIR = /home/martino/Projects/marte2_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/marte2_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/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/StreamHubQtClient_autogen.dir/AutogenInfo.json ""
|
||||
/usr/bin/cmake -E touch /home/martino/Projects/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_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/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/MainWindow.cpp -o CMakeFiles/StreamHubQtClient.dir/MainWindow.cpp.s
|
||||
|
||||
CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.o: CMakeFiles/StreamHubQtClient.dir/flags.make
|
||||
CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.o: /home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp
|
||||
CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/marte2_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/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_14) "Building CXX object CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/marte2_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/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.o -MF CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.o.d -o CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.o -c /home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp
|
||||
|
||||
CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/marte2_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/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.i"
|
||||
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp > CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.i
|
||||
|
||||
CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/marte2_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/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.s"
|
||||
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp -o CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/marte2_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/marte2_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/marte2_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/marte2_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/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt /home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt /home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/build /home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/build /home/martino/Projects/marte2_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/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.o"
|
||||
"CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/marte2_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
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.4
|
||||
|
||||
# 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/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/build/StreamHubQtClient_autogen/include -I/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt -I/home/martino/Projects/marte2_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 = -std=gnu++17 -Wall -Wextra -Wno-unused-parameter -mno-direct-extern-access
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
/usr/bin/c++ -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/marte2_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,925 @@
|
||||
{
|
||||
"BUILD_DIR" : "/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/build/StreamHubQtClient_autogen",
|
||||
"CMAKE_BINARY_DIR" : "/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/build",
|
||||
"CMAKE_CURRENT_BINARY_DIR" : "/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/build",
|
||||
"CMAKE_CURRENT_SOURCE_DIR" : "/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt",
|
||||
"CMAKE_EXECUTABLE" : "/usr/bin/cmake",
|
||||
"CMAKE_LIST_FILES" :
|
||||
[
|
||||
"/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/CMakeLists.txt",
|
||||
"/usr/share/cmake/Modules/CMakeDetermineSystem.cmake",
|
||||
"/usr/share/cmake/Modules/CMakeSystem.cmake.in",
|
||||
"/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/4.4.2/CMakeSystem.cmake",
|
||||
"/usr/share/cmake/Modules/CMakeUnixFindMake.cmake",
|
||||
"/usr/share/cmake/Modules/CMakeSystemSpecificInitialize.cmake",
|
||||
"/usr/share/cmake/Modules/Platform/Linux-Initialize.cmake",
|
||||
"/usr/share/cmake/Modules/CMakeDetermineCXXCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/CMakeDetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Platform/Linux-Determine-CXX.cmake",
|
||||
"/usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake",
|
||||
"/usr/share/cmake/Modules/CMakeCompilerIdDetection.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/ADSP-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/ARMCC-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/ARMClang-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/AppleClang-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/Clang-DetermineCompilerInternal.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/Borland-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/Clang-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/Clang-DetermineCompilerInternal.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/Cray-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/CrayClang-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/Diab-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/Embarcadero-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/Fujitsu-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/GHS-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/HP-CXX-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/IAR-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/IBMClang-CXX-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/Intel-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/LCC-CXX-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/MSVC-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/NVHPC-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/NVIDIA-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/OrangeC-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/PGI-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/PathScale-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/PellesC-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/Renesas-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/SCO-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/TI-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/TIClang-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/Tasking-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/Watcom-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/XL-CXX-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake",
|
||||
"/usr/share/cmake/Modules/CMakeFindBinUtils.cmake",
|
||||
"/usr/share/cmake/Modules/Compiler/GNU-FindBinUtils.cmake",
|
||||
"/usr/share/cmake/Modules/CMakeCXXCompiler.cmake.in",
|
||||
"/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/4.4.2/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/CMakeTestCXXCompiler.cmake",
|
||||
"/usr/share/cmake/Modules/CMakeTestCompilerCommon.cmake",
|
||||
"/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake",
|
||||
"/usr/share/cmake/Modules/Internal/CMakeDetermineLinkerId.cmake",
|
||||
"/usr/share/cmake/Modules/CMakeParseImplicitIncludeInfo.cmake",
|
||||
"/usr/share/cmake/Modules/CMakeParseImplicitLinkInfo.cmake",
|
||||
"/usr/share/cmake/Modules/CMakeParseLibraryArchitecture.cmake",
|
||||
"/usr/share/cmake/Modules/CMakeTestCompilerCommon.cmake",
|
||||
"/usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp",
|
||||
"/usr/share/cmake/Modules/CMakeDetermineCompilerSupport.cmake",
|
||||
"/usr/share/cmake/Modules/Internal/FeatureTesting.cmake",
|
||||
"/usr/share/cmake/Modules/CMakeCXXCompiler.cmake.in",
|
||||
"/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/4.4.2/CMakeCXXCompiler.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/share/cmake/Modules/Internal/CMakeInspectCXXLinker.cmake",
|
||||
"/usr/share/cmake/Modules/CMakeCXXCompiler.cmake.in",
|
||||
"/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/Internal/CheckCommon.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/Internal/CheckCommon.cmake",
|
||||
"/usr/share/cmake/Modules/CheckIncludeFileCXX.cmake",
|
||||
"/usr/share/cmake/Modules/Internal/CheckCommon.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/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt",
|
||||
"CROSS_CONFIG" : false,
|
||||
"DEP_FILE" : "/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/build/StreamHubQtClient_autogen/deps",
|
||||
"DEP_FILE_RULE_NAME" : "StreamHubQtClient_autogen/timestamp",
|
||||
"HEADERS" :
|
||||
[
|
||||
[
|
||||
"/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/HistoryBar.h",
|
||||
"Mu",
|
||||
"EWIEGA46WW/moc_HistoryBar.cpp",
|
||||
null
|
||||
],
|
||||
[
|
||||
"/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/Hub.h",
|
||||
"Mu",
|
||||
"EWIEGA46WW/moc_Hub.cpp",
|
||||
null
|
||||
],
|
||||
[
|
||||
"/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/MainWindow.h",
|
||||
"Mu",
|
||||
"EWIEGA46WW/moc_MainWindow.cpp",
|
||||
null
|
||||
],
|
||||
[
|
||||
"/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/Model.h",
|
||||
"Mu",
|
||||
"EWIEGA46WW/moc_Model.cpp",
|
||||
null
|
||||
],
|
||||
[
|
||||
"/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/PlotGrid.h",
|
||||
"Mu",
|
||||
"EWIEGA46WW/moc_PlotGrid.cpp",
|
||||
null
|
||||
],
|
||||
[
|
||||
"/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/PlotWidget.h",
|
||||
"Mu",
|
||||
"EWIEGA46WW/moc_PlotWidget.cpp",
|
||||
null
|
||||
],
|
||||
[
|
||||
"/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/SourceSidebar.h",
|
||||
"Mu",
|
||||
"EWIEGA46WW/moc_SourceSidebar.cpp",
|
||||
null
|
||||
],
|
||||
[
|
||||
"/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/StatsDialog.h",
|
||||
"Mu",
|
||||
"EWIEGA46WW/moc_StatsDialog.cpp",
|
||||
null
|
||||
],
|
||||
[
|
||||
"/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/Theme.h",
|
||||
"Mu",
|
||||
"EWIEGA46WW/moc_Theme.cpp",
|
||||
null
|
||||
],
|
||||
[
|
||||
"/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/TriggerBar.h",
|
||||
"Mu",
|
||||
"EWIEGA46WW/moc_TriggerBar.cpp",
|
||||
null
|
||||
],
|
||||
[
|
||||
"/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/WsClient.h",
|
||||
"Mu",
|
||||
"EWIEGA46WW/moc_WsClient.cpp",
|
||||
null
|
||||
],
|
||||
[
|
||||
"/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.h",
|
||||
"Mu",
|
||||
"RQWVCOUPNN/moc_Protocol.cpp",
|
||||
null
|
||||
]
|
||||
],
|
||||
"HEADER_EXTENSIONS" : [ "h", "hh", "h++", "hm", "hpp", "hxx", "in", "txx" ],
|
||||
"INCLUDE_DIR" : "/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/build/StreamHubQtClient_autogen/include",
|
||||
"MOC_COMPILATION_FILE" : "/home/martino/Projects/marte2_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/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt",
|
||||
"/home/martino/Projects/marte2_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",
|
||||
"/usr/include/c++/16/x86_64-pc-linux-gnu",
|
||||
"/usr/include/c++/16/backward",
|
||||
"/usr/lib/gcc/x86_64-pc-linux-gnu/16/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/marte2_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/marte2_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/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/StreamHubQtClient_autogen.dir/AutogenUsed.txt",
|
||||
"SOURCES" :
|
||||
[
|
||||
[
|
||||
"/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/HistoryBar.cpp",
|
||||
"Mu",
|
||||
null
|
||||
],
|
||||
[
|
||||
"/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/Hub.cpp",
|
||||
"Mu",
|
||||
null
|
||||
],
|
||||
[
|
||||
"/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/MainWindow.cpp",
|
||||
"Mu",
|
||||
null
|
||||
],
|
||||
[
|
||||
"/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/PlotGrid.cpp",
|
||||
"Mu",
|
||||
null
|
||||
],
|
||||
[
|
||||
"/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/PlotWidget.cpp",
|
||||
"Mu",
|
||||
null
|
||||
],
|
||||
[
|
||||
"/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/SourceSidebar.cpp",
|
||||
"Mu",
|
||||
null
|
||||
],
|
||||
[
|
||||
"/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/StatsDialog.cpp",
|
||||
"Mu",
|
||||
null
|
||||
],
|
||||
[
|
||||
"/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/Theme.cpp",
|
||||
"Mu",
|
||||
null
|
||||
],
|
||||
[
|
||||
"/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/TriggerBar.cpp",
|
||||
"Mu",
|
||||
null
|
||||
],
|
||||
[
|
||||
"/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/WsClient.cpp",
|
||||
"Mu",
|
||||
null
|
||||
],
|
||||
[
|
||||
"/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/main.cpp",
|
||||
"Mu",
|
||||
null
|
||||
],
|
||||
[
|
||||
"/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp",
|
||||
"Mu",
|
||||
null
|
||||
]
|
||||
],
|
||||
"USE_BETTER_GRAPH" : true,
|
||||
"VERBOSITY" : 0
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
moc:fbadccd7b3896336babda4a708ab9e156687fc005a6a2d8e03a91a4da1b7f080
|
||||
@@ -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 "")
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,96 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 4.4
|
||||
|
||||
# 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/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt
|
||||
|
||||
# The top-level build directory on which CMake was run.
|
||||
CMAKE_BINARY_DIR = /home/martino/Projects/marte2_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/marte2_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/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/StreamHubQtClient_autogen.dir/AutogenInfo.json ""
|
||||
/usr/bin/cmake -E touch /home/martino/Projects/marte2_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/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt /home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt /home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/build /home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/build /home/martino/Projects/marte2_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()
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
# Empty custom commands generated dependencies file for StreamHubQtClient_autogen.
|
||||
# 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.
|
||||
@@ -0,0 +1,2 @@
|
||||
CMAKE_PROGRESS_1 = 16
|
||||
|
||||
+22
@@ -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 "")
|
||||
+86
@@ -0,0 +1,86 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 4.4
|
||||
|
||||
# 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/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt
|
||||
|
||||
# The top-level build directory on which CMake was run.
|
||||
CMAKE_BINARY_DIR = /home/martino/Projects/marte2_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/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt /home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt /home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/build /home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/build /home/martino/Projects/marte2_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
|
||||
|
||||
+5
@@ -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()
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
# Empty custom commands generated dependencies file for StreamHubQtClient_autogen_timestamp_deps.
|
||||
# This may be replaced when dependencies are built.
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Timestamp file for custom commands dependencies management for StreamHubQtClient_autogen_timestamp_deps.
|
||||
+1
@@ -0,0 +1 @@
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/StreamHubQtClient.dir
|
||||
/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/edit_cache.dir
|
||||
/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/rebuild_cache.dir
|
||||
/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/list_install_components.dir
|
||||
/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/install.dir
|
||||
/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/install/local.dir
|
||||
/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/install/strip.dir
|
||||
/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/StreamHubQtClient_autogen_timestamp_deps.dir
|
||||
/home/martino/Projects/marte2_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
|
||||
@@ -0,0 +1,582 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 4.4
|
||||
|
||||
# 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/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt
|
||||
|
||||
# The top-level build directory on which CMake was run.
|
||||
CMAKE_BINARY_DIR = /home/martino/Projects/marte2_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/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles /home/martino/Projects/marte2_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/marte2_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/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.o: home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.o
|
||||
.PHONY : home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.o
|
||||
|
||||
# target to build an object file
|
||||
home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.o
|
||||
.PHONY : home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.o
|
||||
|
||||
home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.i: home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.i
|
||||
.PHONY : home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.i
|
||||
|
||||
# target to preprocess a source file
|
||||
home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.i
|
||||
.PHONY : home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.i
|
||||
|
||||
home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.s: home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.s
|
||||
.PHONY : home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/StreamHubQtClient.dir/build.make CMakeFiles/StreamHubQtClient.dir/home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.cpp.s
|
||||
.PHONY : home/martino/Projects/marte2_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/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.o"
|
||||
@echo "... home/martino/Projects/marte2_projects/MARTe_Integrated_components/Client/streamhub/Protocol.i"
|
||||
@echo "... home/martino/Projects/marte2_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
|
||||
|
||||
Executable
BIN
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
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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.2.1 20260810"
|
||||
#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__ 2
|
||||
#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/marte2_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 "")
|
||||
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/marte2_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/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/build/CMakeFiles/StreamHubQtClient.dir/install-cxx-module-bmi-noconfig.cmake" OPTIONAL)
|
||||
endif()
|
||||
|
||||
string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
|
||||
"${CMAKE_INSTALL_MANIFEST_FILES}")
|
||||
if(CMAKE_INSTALL_LOCAL_ONLY)
|
||||
file(WRITE "/home/martino/Projects/marte2_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/marte2_projects/MARTe_Integrated_components/Client/streamhub-qt/build/${CMAKE_INSTALL_MANIFEST}"
|
||||
"${CMAKE_INSTALL_MANIFEST_CONTENT}")
|
||||
endif()
|
||||
@@ -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();
|
||||
}
|
||||
+324
-111
@@ -75,9 +75,21 @@ void App::update() {
|
||||
if (nowConnected && !prevConnected_) {
|
||||
ws_.sendText(BuildGetSources());
|
||||
ws_.sendText(BuildGetStats());
|
||||
ws_.sendText(BuildHistoryInfo());
|
||||
}
|
||||
prevConnected_ = nowConnected;
|
||||
|
||||
/* Re-request history info periodically until signals are populated
|
||||
* (the hub opens history files after the first data packet, which is
|
||||
* after our initial connect-time query). */
|
||||
if (nowConnected && historyInfo_.enabled && historyInfo_.signals.empty()) {
|
||||
double now = ImGui::GetTime();
|
||||
if (now - lastHistInfoReq_ > 2.0) {
|
||||
ws_.sendText(BuildHistoryInfo());
|
||||
lastHistInfoReq_ = now;
|
||||
}
|
||||
}
|
||||
|
||||
/* Drain WebSocket receive queue */
|
||||
ws_.poll([this](const WSMessage& msg) {
|
||||
if (msg.isBinary) {
|
||||
@@ -99,8 +111,7 @@ void App::update() {
|
||||
| ImGuiWindowFlags_NoResize
|
||||
| ImGuiWindowFlags_NoMove
|
||||
| ImGuiWindowFlags_NoBringToFrontOnFocus
|
||||
| ImGuiWindowFlags_NoNavFocus
|
||||
| ImGuiWindowFlags_MenuBar;
|
||||
| ImGuiWindowFlags_NoNavFocus;
|
||||
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_WindowRounding, 0.0f);
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_WindowBorderSize, 0.0f);
|
||||
@@ -108,8 +119,8 @@ void App::update() {
|
||||
ImGui::Begin("##main", nullptr, wf);
|
||||
ImGui::PopStyleVar(3);
|
||||
|
||||
renderMenuBar();
|
||||
renderToolbar();
|
||||
if (showHistBar_) { renderHistoryBar(); }
|
||||
if (showTrigBar_) { renderTriggerBar(); }
|
||||
|
||||
/* Horizontal split: sidebar | plot grid */
|
||||
@@ -136,90 +147,33 @@ void App::update() {
|
||||
if (showAddSrc_) { renderAddSourceModal(); }
|
||||
}
|
||||
|
||||
/* ── Menu bar ────────────────────────────────────────────────────────────── */
|
||||
|
||||
void App::renderMenuBar() {
|
||||
if (!ImGui::BeginMenuBar()) { return; }
|
||||
|
||||
if (ImGui::BeginMenu("File")) {
|
||||
if (ImGui::MenuItem("Quit", "Alt+F4")) {
|
||||
/* Signal quit via SDL event — handled in main.cpp via flag */
|
||||
}
|
||||
ImGui::EndMenu();
|
||||
}
|
||||
|
||||
if (ImGui::BeginMenu("View")) {
|
||||
ImGui::MenuItem("Sidebar", nullptr, &sidebarOpen_);
|
||||
ImGui::MenuItem("Trigger Bar", nullptr, &showTrigBar_);
|
||||
ImGui::MenuItem("Statistics", nullptr, &showStats_);
|
||||
ImGui::EndMenu();
|
||||
}
|
||||
|
||||
if (ImGui::BeginMenu("Sources")) {
|
||||
if (ImGui::MenuItem(ICON_FA_PLUS " Add Source...")) { showAddSrc_ = true; }
|
||||
ImGui::EndMenu();
|
||||
}
|
||||
|
||||
if (ImGui::BeginMenu("Layout")) {
|
||||
for (int i = 0; i < static_cast<int>(PlotLayout::kCount); i++) {
|
||||
bool sel = (static_cast<int>(layout_) == i);
|
||||
if (ImGui::MenuItem(PlotLayoutNames[i], nullptr, sel)) {
|
||||
setLayout(static_cast<PlotLayout>(i));
|
||||
}
|
||||
}
|
||||
ImGui::EndMenu();
|
||||
}
|
||||
|
||||
/* Right-aligned: [host] : [port] [Connect/Reconnect] ● status */
|
||||
bool connected = ws_.isConnected();
|
||||
const char* btnLbl = connected ? "Reconnect" : "Connect";
|
||||
const char* ledLbl = connected ? ICON_FA_CIRCLE " Connected"
|
||||
: ICON_FA_CIRCLE " Disconnected";
|
||||
/* Measure widget widths to right-align the whole group */
|
||||
const ImGuiStyle& st = ImGui::GetStyle();
|
||||
const float kHostW = 130.f;
|
||||
const float kPortW = 52.f;
|
||||
const float kBtnW = ImGui::CalcTextSize(btnLbl).x + st.FramePadding.x * 2.f;
|
||||
const float kLedW = ImGui::CalcTextSize(ledLbl).x;
|
||||
const float kGroupW = kHostW + 8.f + kPortW + 8.f + kBtnW + 8.f + kLedW;
|
||||
ImGui::SetCursorPosX(
|
||||
ImGui::GetCursorPosX() +
|
||||
ImGui::GetContentRegionAvail().x - kGroupW);
|
||||
|
||||
ImGui::SetNextItemWidth(kHostW);
|
||||
ImGui::InputText("##hubhost", hostBuf_, sizeof(hostBuf_));
|
||||
ImGui::SameLine(0.f, 2.f);
|
||||
ImGui::TextUnformatted(":");
|
||||
ImGui::SameLine(0.f, 2.f);
|
||||
ImGui::SetNextItemWidth(kPortW);
|
||||
ImGui::InputText("##hubport", portBuf_, sizeof(portBuf_),
|
||||
ImGuiInputTextFlags_CharsDecimal);
|
||||
ImGui::SameLine(0.f, 6.f);
|
||||
if (ImGui::Button(btnLbl)) {
|
||||
ws_.reconnect(hostBuf_, static_cast<uint16_t>(atoi(portBuf_)));
|
||||
}
|
||||
ImGui::SameLine(0.f, 8.f);
|
||||
ImVec4 ledColor = connected
|
||||
? ImVec4(0.1f, 0.9f, 0.3f, 1.f)
|
||||
: ImVec4(0.9f, 0.2f, 0.2f, 1.f);
|
||||
ImGui::TextColored(ledColor, "%s", ledLbl);
|
||||
|
||||
ImGui::EndMenuBar();
|
||||
}
|
||||
/* renderMenuBar() removed — all functionality merged into toolbar + sidebar */
|
||||
|
||||
/* ── Toolbar ─────────────────────────────────────────────────────────────── */
|
||||
|
||||
void App::renderToolbar() {
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, ImVec2(4.f, 4.f));
|
||||
|
||||
/* Layout picker — pictogram popup */
|
||||
/* ── Sidebar toggle (leftmost) ───────────────────────────────────────── */
|
||||
{
|
||||
if (sidebarOpen_) {
|
||||
ImGui::PushStyleColor(ImGuiCol_Button, ImVec4(0.537f,0.706f,0.980f,0.4f));
|
||||
}
|
||||
if (ImGui::Button(ICON_FA_BARS "##sidebar")) { sidebarOpen_ = !sidebarOpen_; }
|
||||
if (sidebarOpen_) { ImGui::PopStyleColor(); }
|
||||
if (ImGui::IsItemHovered()) { ImGui::SetTooltip("Toggle sidebar"); }
|
||||
}
|
||||
ImGui::SameLine();
|
||||
|
||||
/* ── Layout picker — pictogram popup ─────────────────────────────────── */
|
||||
static const int kIconCols[] = {1,2,1,3,1,2,4,1};
|
||||
static const int kIconRows[] = {1,1,2,1,3,2,1,4};
|
||||
static const ImVec2 kIconSz = ImVec2(36.f, 24.f);
|
||||
|
||||
if (ImGui::Button(ICON_FA_TABLE_CELLS_LARGE " Layout")) {
|
||||
if (ImGui::Button(ICON_FA_TABLE_CELLS_LARGE "##layout")) {
|
||||
ImGui::OpenPopup("##layout_pop");
|
||||
}
|
||||
if (ImGui::IsItemHovered()) { ImGui::SetTooltip("Layout"); }
|
||||
ImGui::SameLine();
|
||||
if (ImGui::BeginPopup("##layout_pop")) {
|
||||
ImGui::TextDisabled("Select layout");
|
||||
@@ -228,7 +182,6 @@ void App::renderToolbar() {
|
||||
for (int li = 0; li < static_cast<int>(PlotLayout::kCount); li++) {
|
||||
bool sel = (static_cast<int>(layout_) == li);
|
||||
ImVec2 p = ImGui::GetCursorScreenPos();
|
||||
/* Invisible button sized to the icon */
|
||||
if (ImGui::InvisibleButton(PlotLayoutNames[li], kIconSz)) {
|
||||
setLayout(static_cast<PlotLayout>(li));
|
||||
ImGui::CloseCurrentPopup();
|
||||
@@ -242,7 +195,7 @@ void App::renderToolbar() {
|
||||
ImGui::EndPopup();
|
||||
}
|
||||
|
||||
/* Global pause */
|
||||
/* ── Global pause ────────────────────────────────────────────────────── */
|
||||
if (ImGui::Button(globalPaused_ ? ICON_FA_PLAY " Resume"
|
||||
: ICON_FA_PAUSE " Pause")) {
|
||||
globalPaused_ = !globalPaused_;
|
||||
@@ -253,45 +206,77 @@ void App::renderToolbar() {
|
||||
}
|
||||
ImGui::SameLine();
|
||||
|
||||
/* Cursors A/B (global: shared & synchronised across all plots) */
|
||||
/* ── Cursors A/B toggle ──────────────────────────────────────────────── */
|
||||
{
|
||||
if (cursorsOn_) {
|
||||
ImGui::PushStyleColor(ImGuiCol_Button, ImVec4(0.537f,0.706f,0.980f,0.4f));
|
||||
}
|
||||
if (ImGui::Button(ICON_FA_CROSSHAIRS " Cursors")) {
|
||||
cursorsOn_ = !cursorsOn_;
|
||||
if (cursorsOn_) {
|
||||
/* seed cursors at 25% / 75% of the live window */
|
||||
const double wallNow = std::chrono::duration<double>(
|
||||
std::chrono::system_clock::now().time_since_epoch()).count();
|
||||
const double x0 = wallNow - windowSec_;
|
||||
cursorA_ = x0 + windowSec_ * 0.25;
|
||||
cursorB_ = x0 + windowSec_ * 0.75;
|
||||
}
|
||||
}
|
||||
if (ImGui::Button(ICON_FA_CROSSHAIRS "##curs")) { cursorsOn_ = !cursorsOn_; }
|
||||
if (cursorsOn_) { ImGui::PopStyleColor(); }
|
||||
if (ImGui::IsItemHovered()) { ImGui::SetTooltip("Cursors A/B"); }
|
||||
}
|
||||
ImGui::SameLine();
|
||||
|
||||
/* Trigger bar toggle */
|
||||
if (ImGui::Button(ICON_FA_BOLT " Trigger")) { showTrigBar_ = !showTrigBar_; }
|
||||
/* ── Trigger bar toggle ──────────────────────────────────────────────── */
|
||||
{
|
||||
if (showTrigBar_) {
|
||||
ImGui::PushStyleColor(ImGuiCol_Button, ImVec4(0.537f,0.706f,0.980f,0.4f));
|
||||
}
|
||||
if (ImGui::Button(ICON_FA_BOLT "##trig")) { showTrigBar_ = !showTrigBar_; }
|
||||
if (showTrigBar_) { ImGui::PopStyleColor(); }
|
||||
if (ImGui::IsItemHovered()) { ImGui::SetTooltip("Trigger"); }
|
||||
}
|
||||
ImGui::SameLine();
|
||||
|
||||
/* Stats */
|
||||
if (ImGui::Button(ICON_FA_CHART_COLUMN " Stats")) { showStats_ = !showStats_; }
|
||||
/* ── History browse ──────────────────────────────────────────────────── */
|
||||
{
|
||||
bool histAvail = historyInfo_.enabled && !historyInfo_.signals.empty();
|
||||
if (!histAvail) { ImGui::BeginDisabled(); }
|
||||
if (showHistBar_) {
|
||||
ImGui::PushStyleColor(ImGuiCol_Button, ImVec4(0.537f,0.706f,0.980f,0.4f));
|
||||
}
|
||||
if (ImGui::Button(ICON_FA_CLOCK_ROTATE_LEFT "##hist")) {
|
||||
if (histAvail) {
|
||||
showHistBar_ = !showHistBar_;
|
||||
if (showHistBar_) {
|
||||
/* On first open, jump to the full history range */
|
||||
double ht0 = 1e300, ht1 = -1e300;
|
||||
for (const auto& hs : historyInfo_.signals) {
|
||||
if (hs.t0 < ht0) ht0 = hs.t0;
|
||||
if (hs.t1 > ht1) ht1 = hs.t1;
|
||||
}
|
||||
if (ht1 > ht0) {
|
||||
for (int i = 0; i < numPlotSlots(); i++) {
|
||||
liveFollow_[i] = false;
|
||||
setPlotX(i, ht0, ht1);
|
||||
zoomCache_[i].valid = false;
|
||||
zoomCache_[i].pending = false;
|
||||
histZoomCache_[i].valid = false;
|
||||
histZoomCache_[i].pending = false;
|
||||
zoomHist_[i].clear();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
/* Closing the bar → back to live */
|
||||
for (int i = 0; i < numPlotSlots(); i++) {
|
||||
liveFollow_[i] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (showHistBar_) { ImGui::PopStyleColor(); }
|
||||
if (!histAvail) { ImGui::EndDisabled(); }
|
||||
if (ImGui::IsItemHovered()) { ImGui::SetTooltip("History browse"); }
|
||||
}
|
||||
ImGui::SameLine();
|
||||
|
||||
/* Add source */
|
||||
if (ImGui::Button(ICON_FA_PLUS " Source")) { showAddSrc_ = true; }
|
||||
ImGui::SameLine();
|
||||
|
||||
/* Time window presets (Ctrl+scroll on a plot still adjusts freely) */
|
||||
/* ── Time window presets ─────────────────────────────────────────────── */
|
||||
static const double kWinPresets[] = {1.0, 5.0, 10.0, 30.0, 60.0};
|
||||
static const char* kWinLabels[] = {"1 s", "5 s", "10 s", "30 s", "60 s"};
|
||||
char winPreview[16];
|
||||
snprintf(winPreview, sizeof(winPreview), "%.3g s", windowSec_);
|
||||
ImGui::SetNextItemWidth(70.f);
|
||||
if (ImGui::BeginCombo("Win", winPreview)) {
|
||||
if (ImGui::BeginCombo("##win", winPreview)) {
|
||||
for (int wi = 0; wi < 5; wi++) {
|
||||
bool sel = std::fabs(windowSec_ - kWinPresets[wi]) < 1e-9;
|
||||
if (ImGui::Selectable(kWinLabels[wi], sel)) {
|
||||
@@ -301,18 +286,213 @@ void App::renderToolbar() {
|
||||
}
|
||||
ImGui::EndCombo();
|
||||
}
|
||||
|
||||
/* ── Right-aligned group: [Stats] [Connection ▼] ● LED ──────────────── */
|
||||
bool connected = ws_.isConnected();
|
||||
const char* connLabel = connected
|
||||
? ICON_FA_CIRCLE " Connected"
|
||||
: ICON_FA_CIRCLE " Disconnected";
|
||||
const ImGuiStyle& st = ImGui::GetStyle();
|
||||
|
||||
const float kStatsW = ImGui::CalcTextSize(ICON_FA_CHART_COLUMN).x
|
||||
+ st.FramePadding.x * 2.f;
|
||||
const float kConnBtnW = ImGui::CalcTextSize(ICON_FA_LINK).x
|
||||
+ st.FramePadding.x * 2.f;
|
||||
const float kLedW = ImGui::CalcTextSize(connLabel).x + 8.f;
|
||||
const float kGroupW = kStatsW + 4.f + kConnBtnW + 4.f + kLedW;
|
||||
|
||||
float rightX = ImGui::GetCursorPosX() +
|
||||
ImGui::GetContentRegionAvail().x - kGroupW;
|
||||
if (rightX > ImGui::GetCursorPosX()) {
|
||||
ImGui::SameLine(rightX);
|
||||
} else {
|
||||
ImGui::SameLine();
|
||||
}
|
||||
|
||||
/* Stats toggle */
|
||||
{
|
||||
if (showStats_) {
|
||||
ImGui::PushStyleColor(ImGuiCol_Button, ImVec4(0.537f,0.706f,0.980f,0.4f));
|
||||
}
|
||||
if (ImGui::Button(ICON_FA_CHART_COLUMN "##stats")) { showStats_ = !showStats_; }
|
||||
if (showStats_) { ImGui::PopStyleColor(); }
|
||||
if (ImGui::IsItemHovered()) { ImGui::SetTooltip("Statistics"); }
|
||||
}
|
||||
ImGui::SameLine(0.f, 4.f);
|
||||
|
||||
/* Connection dropdown */
|
||||
if (ImGui::Button(ICON_FA_LINK "##conn")) {
|
||||
ImGui::OpenPopup("##conn_pop");
|
||||
}
|
||||
if (ImGui::IsItemHovered()) { ImGui::SetTooltip("Connection"); }
|
||||
if (ImGui::BeginPopup("##conn_pop")) {
|
||||
ImGui::TextDisabled("Hub Connection");
|
||||
ImGui::Separator();
|
||||
ImGui::SetNextItemWidth(160.f);
|
||||
ImGui::InputText("Host##hubhost", hostBuf_, sizeof(hostBuf_));
|
||||
ImGui::SetNextItemWidth(80.f);
|
||||
ImGui::InputText("Port##hubport", portBuf_, sizeof(portBuf_),
|
||||
ImGuiInputTextFlags_CharsDecimal);
|
||||
ImGui::Spacing();
|
||||
const char* btnLbl = connected ? "Reconnect" : "Connect";
|
||||
if (ImGui::Button(btnLbl, ImVec2(120.f, 0.f))) {
|
||||
ws_.reconnect(hostBuf_, static_cast<uint16_t>(atoi(portBuf_)));
|
||||
ImGui::CloseCurrentPopup();
|
||||
}
|
||||
ImGui::EndPopup();
|
||||
}
|
||||
ImGui::SameLine(0.f, 4.f);
|
||||
|
||||
/* Status LED */
|
||||
ImVec4 ledColor = connected
|
||||
? ImVec4(0.1f, 0.9f, 0.3f, 1.f)
|
||||
: ImVec4(0.9f, 0.2f, 0.2f, 1.f);
|
||||
ImGui::TextColored(ledColor, "%s", connLabel);
|
||||
|
||||
ImGui::PopStyleVar();
|
||||
ImGui::Separator();
|
||||
}
|
||||
|
||||
/* ── History browsing toolbar ────────────────────────────────────────────── */
|
||||
|
||||
void App::renderHistoryBar() {
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, ImVec2(4.f, 4.f));
|
||||
ImGui::PushStyleColor(ImGuiCol_Text, ImVec4(0.980f,0.702f,0.529f,1.f));
|
||||
|
||||
/* Title */
|
||||
ImGui::TextUnformatted(ICON_FA_CLOCK_ROTATE_LEFT " History");
|
||||
ImGui::PopStyleColor();
|
||||
ImGui::SameLine();
|
||||
|
||||
/* Max points control */
|
||||
ImGui::SetNextItemWidth(80.f);
|
||||
int mp = static_cast<int>(maxPoints_);
|
||||
if (ImGui::InputInt("MaxPts", &mp, 0, 0,
|
||||
ImGuiInputTextFlags_EnterReturnsTrue)) {
|
||||
if (mp >= 2) {
|
||||
maxPoints_ = static_cast<uint32_t>(mp);
|
||||
ws_.sendText(BuildSetMaxPoints(maxPoints_));
|
||||
/* ── Live button ── */
|
||||
if (ImGui::SmallButton(ICON_FA_TOWER_BROADCAST " Live")) {
|
||||
showHistBar_ = false;
|
||||
for (int i = 0; i < numPlotSlots(); i++) {
|
||||
liveFollow_[i] = true;
|
||||
}
|
||||
ImGui::PopStyleVar();
|
||||
return;
|
||||
}
|
||||
ImGui::SameLine();
|
||||
|
||||
ImGui::TextDisabled("|"); ImGui::SameLine();
|
||||
|
||||
/* ── Current time range display ── */
|
||||
double t0 = 0.0, t1 = 0.0;
|
||||
bool haveRange = false;
|
||||
for (int i = 0; i < numPlotSlots(); i++) {
|
||||
if (!liveFollow_[i]) {
|
||||
t0 = plotXMin_[i]; t1 = plotXMax_[i];
|
||||
haveRange = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
const double wallNow = std::chrono::duration<double>(
|
||||
std::chrono::system_clock::now().time_since_epoch()).count();
|
||||
|
||||
if (haveRange) {
|
||||
double span = t1 - t0;
|
||||
double ago = wallNow - t1;
|
||||
char rangeLabel[128];
|
||||
if (ago < 1.0) {
|
||||
snprintf(rangeLabel, sizeof(rangeLabel),
|
||||
"%.3g s span | now", span);
|
||||
} else if (ago < 60.0) {
|
||||
snprintf(rangeLabel, sizeof(rangeLabel),
|
||||
"%.3g s span | %.0f s ago", span, ago);
|
||||
} else if (ago < 3600.0) {
|
||||
snprintf(rangeLabel, sizeof(rangeLabel),
|
||||
"%.3g s span | %.1f min ago", span, ago / 60.0);
|
||||
} else {
|
||||
snprintf(rangeLabel, sizeof(rangeLabel),
|
||||
"%.3g s span | %.1f h ago", span, ago / 3600.0);
|
||||
}
|
||||
ImGui::TextDisabled("%s", rangeLabel);
|
||||
} else {
|
||||
ImGui::TextDisabled("No plot range");
|
||||
}
|
||||
ImGui::SameLine();
|
||||
|
||||
/* ── Navigation: pan ← → ── */
|
||||
if (ImGui::SmallButton(ICON_FA_CHEVRON_LEFT "##hleft")) {
|
||||
for (int i = 0; i < numPlotSlots(); i++) {
|
||||
if (!liveFollow_[i]) {
|
||||
double span = plotXMax_[i] - plotXMin_[i];
|
||||
setPlotX(i, plotXMin_[i] - span * 0.75, plotXMax_[i] - span * 0.75);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (ImGui::IsItemHovered()) { ImGui::SetTooltip("Pan left (75%% of window)"); }
|
||||
ImGui::SameLine(0.f, 2.f);
|
||||
|
||||
if (ImGui::SmallButton(ICON_FA_CHEVRON_RIGHT "##hright")) {
|
||||
for (int i = 0; i < numPlotSlots(); i++) {
|
||||
if (!liveFollow_[i]) {
|
||||
double span = plotXMax_[i] - plotXMin_[i];
|
||||
double newMax = plotXMax_[i] + span * 0.75;
|
||||
/* Clamp: don't go past wallNow */
|
||||
if (newMax > wallNow) {
|
||||
newMax = wallNow;
|
||||
double newMin = newMax - span;
|
||||
setPlotX(i, newMin, newMax);
|
||||
} else {
|
||||
setPlotX(i, plotXMin_[i] + span * 0.75, newMax);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (ImGui::IsItemHovered()) { ImGui::SetTooltip("Pan right (75%% of window)"); }
|
||||
ImGui::SameLine();
|
||||
|
||||
ImGui::TextDisabled("|"); ImGui::SameLine();
|
||||
|
||||
/* ── Jump presets ── */
|
||||
static const double kJumpSec[] = { 10.0, 30.0, 60.0,
|
||||
300.0, 600.0, 1800.0, 3600.0};
|
||||
static const char* kJumpLabel[] = {"10 s", "30 s", "1 min",
|
||||
"5 min","10 min","30 min","1 h"};
|
||||
for (int j = 0; j < 7; j++) {
|
||||
char jid[32];
|
||||
snprintf(jid, sizeof(jid), "%s##hj%d", kJumpLabel[j], j);
|
||||
if (ImGui::SmallButton(jid)) {
|
||||
for (int i = 0; i < numPlotSlots(); i++) {
|
||||
liveFollow_[i] = false;
|
||||
double span = plotXMax_[i] - plotXMin_[i];
|
||||
if (span <= 0.0) { span = windowSec_; }
|
||||
setPlotX(i, wallNow - kJumpSec[j] - span,
|
||||
wallNow - kJumpSec[j]);
|
||||
}
|
||||
}
|
||||
if (ImGui::IsItemHovered()) {
|
||||
ImGui::SetTooltip("Jump to %s ago", kJumpLabel[j]);
|
||||
}
|
||||
if (j < 6) { ImGui::SameLine(0.f, 2.f); }
|
||||
}
|
||||
ImGui::SameLine();
|
||||
|
||||
/* ── All history ── */
|
||||
bool canAll = historyInfo_.enabled && !historyInfo_.signals.empty();
|
||||
if (!canAll) { ImGui::BeginDisabled(); }
|
||||
if (ImGui::SmallButton("All")) {
|
||||
double ht0 = 1e300, ht1 = -1e300;
|
||||
for (const auto& hs : historyInfo_.signals) {
|
||||
if (hs.t0 < ht0) ht0 = hs.t0;
|
||||
if (hs.t1 > ht1) ht1 = hs.t1;
|
||||
}
|
||||
if (ht1 > ht0) {
|
||||
for (int i = 0; i < numPlotSlots(); i++) {
|
||||
liveFollow_[i] = false;
|
||||
setPlotX(i, ht0, ht1);
|
||||
zoomCache_[i].valid = false;
|
||||
zoomCache_[i].pending = false;
|
||||
histZoomCache_[i].valid = false;
|
||||
histZoomCache_[i].pending = false;
|
||||
zoomHist_[i].clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (ImGui::IsItemHovered()) { ImGui::SetTooltip("Show all available history"); }
|
||||
if (!canAll) { ImGui::EndDisabled(); }
|
||||
|
||||
ImGui::PopStyleVar();
|
||||
ImGui::Separator();
|
||||
@@ -521,6 +701,7 @@ void App::handleBinary(const uint8_t* data, size_t len) {
|
||||
trigger_.status = "triggered";
|
||||
trigger_.trigTime = capture_.trigTime;
|
||||
trigger_.hasTrigTime = true;
|
||||
resetTrigZoom();
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -644,11 +825,17 @@ void App::onTriggerState(const std::string& json) {
|
||||
trigger_.trigTime = msg.trigTime;
|
||||
trigger_.hasTrigTime = true;
|
||||
}
|
||||
if (msg.hasWindow) {
|
||||
trigger_.firedPreS = msg.preSec;
|
||||
trigger_.firedPostS = msg.postSec;
|
||||
trigger_.hasFiredWin = true;
|
||||
}
|
||||
/* Double-buffer semantics: the last recorded capture stays on display
|
||||
* (even while re-armed/collecting) and is only replaced when a new
|
||||
* capture frame has been fully received and parsed (handleBinary v2). */
|
||||
if (msg.state == "idle") {
|
||||
trigger_.hasTrigTime = false;
|
||||
trigger_.hasFiredWin = false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -660,10 +847,24 @@ void App::onZoom(const std::string& json) {
|
||||
for (int i = 0; i < kMaxPlotSlots; i++) {
|
||||
auto& zc = zoomCache_[i];
|
||||
if (zc.pending && zc.reqId == resp.reqId) {
|
||||
/* Compute the actual time range from the returned data so the
|
||||
* coverage check in PlotPanel can distinguish between "ring had
|
||||
* data for the full window" and "ring only had partial data". */
|
||||
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.signals = std::move(resp.signals);
|
||||
zc.t0 = zc.reqT0;
|
||||
zc.t1 = zc.reqT1;
|
||||
zc.t0 = dataT0;
|
||||
zc.t1 = dataT1;
|
||||
zc.valid = true;
|
||||
}
|
||||
zc.pending = false;
|
||||
return;
|
||||
}
|
||||
@@ -717,10 +918,22 @@ void App::onHistoryZoom(const std::string& json) {
|
||||
for (int i = 0; i < kMaxPlotSlots; i++) {
|
||||
auto& hc = histZoomCache_[i];
|
||||
if (hc.pending && hc.reqId == resp.reqId) {
|
||||
/* Compute the actual time range from returned data. */
|
||||
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) {
|
||||
hc.signals = std::move(resp.signals);
|
||||
hc.t0 = hc.reqT0;
|
||||
hc.t1 = hc.reqT1;
|
||||
hc.t0 = dataT0;
|
||||
hc.t1 = dataT1;
|
||||
hc.valid = true;
|
||||
}
|
||||
hc.pending = false;
|
||||
return;
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user