5dab4422e9 | ||
---|---|---|
.. | ||
bridge-gui | ||
bridge-gui-tester | ||
bridgepp | ||
BridgeSetup.cmake | ||
CMakeLists.txt | ||
FindQt.cmake | ||
README.md |
README.md
bridge-gui
bridge-gui is the graphical user interface for Bridge. It's a C++ Qt application that communicates with the bridge executable via gRPC remote procedure call, on a local-only TLS-secured connection.
Components
bridge-gui consists in 3 components:
- bridge-gui: The Bridge-GUI application itself. It's a QML Qt application that implements the bridge gRPC service to communicate and interact with the bridge application written in Go.
- bridge-gui-tester: A Qt widgets test application that offers a dummy gRPC server implementing the Bridge gRPC service. It can be used as a debugging and development tool, as it can simulate the server side (bridge) portion of the gRPC service.
- bridgepp: bridgepp (for bridge++) is a C++ static library that contains the code shared by bridge-gui and bridge-gui-tester.
Bridge gRPC service
The bridge gRPC service that allows communications between bridge-gui, and the bridge Go application (or
bridge-gui-tester) is defined in ../grpc/bridge.proto
.
Supported platforms
bridge-gui runs on the same platforms as the bridge app:
- Linux x64.
- macOS x64 and Apple Silicon.
- Windows x64.
Requirements:
- A C++ development toolchain (GCC/Clang/ MSVC, CMake, Ninja). An easy way to get all the needed tools is to use a modern IDE such as CLion, Qt Creator or Visual Studio Code that will check and install or use their bundled versions of the tools.
- Qt 6. Use the online installer to install the latest stable release of Qt for your platform and compiler.
First build
bridge-gui uses vcpkg, Microsoft multi-platform C/C++ dependency manager to get
the source code and build gRPC and its dependencies (protobuf, zlib, ...). vcpkg is managed as a git submodule
in extern/vcpkg
,relative to the root of the bridge source tree. A pair of scripts is provided to perform
the initialization of vcpkg, the retrieval and compilation of gRPC and a first build of the bridge-gui project
components:
build.sh
: a shell script to use on macOS and Linux.build.ps1
: a PowerShell script for Windows.