This project is a member of the CommsChampion Ecosystem and implements MQTT v3.1.1 Client Filter plugin for the CommsChampion Tools. It allows observation and debugging of the custom protocol messages exchanged using MQTT v3.1.1 as the intermediate transport protocol in the common environment of the CommsChampion Tools. Please read the wiki page for the instructions on how to configure and use the plugin.
This project uses CMake as its build system. Please open the primary CMakeLists.txt and review the available configuration options.
This project has the following direct and transitive external dependencies:
- COMMS Library (direct dependency) - Primary library for any protocol definition, some inner cmake scripts are re-used in the build.
- cc.mqtt311.generated (transitive dependency) - Definition of the MQTT v3.1.1 protocol (depends on the COMMS Library).
- cc.mqtt311.libs (direct dependency) - MQTT v3.1.1 client library (depends on the COMMS Library and the cc.mqtt311.generated).
- CommsChampion Tools (direct dependency) - CommsChampion Tools and its library required for the plugin development.
- Qt (direct dependency) - Qt5/6 libraries.
All these dependencies are expected to be built externally and installation paths to the primary dependencies are
expected to be passed to the cmake
invocation
using the CMAKE_PREFIX_PATH configuration variable. Also the installation directory is expected to be the same as
the one used to install the CommsChampion Tools.
cmake -DCMAKE_INSTALL_PREFIX=/path/to/cc_tools_qt/install \
-DCMAKE_PREFIX_PATH=/path/to/comms/install\;/path/to/cc_tools_qt/install\;/path/to/cc.mqtt311.libs ...
There are prepare_externals.sh (for Linux) and prepare_externals.bat (for Windows) scripts that can be used to pull and build all the required dependencies (excluding the Qt libraries).
This project requires minimal C++17 standard as well as Qt v5.15 or above to get properly compiled.
This repository will follow the Successful Git Branching Model.
The master branch will always point to the latest release, the development is performed on develop branch. As the result it is safe to just clone the sources of this repository and use it without any extra manipulations of looking for the latest stable version among the tags and checking it out.
For bug reports, feature requests, or any other question you may open an issue here in github or e-mail me directly to: arobenko@gmail.com. I usually respond within 24 hours.