Implemented qt port + e2e
This commit is contained in:
@@ -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)
|
||||
Reference in New Issue
Block a user