DAMN requires the following dependencies:
Dep | Version |
---|---|
Qt | 5.15 or 6 |
ZeroMQ | 4.3.4 |
cpp-ZMQ | 4.9.0 |
spdlog | 1.11.0 |
CLI11 | 2.3.2 |
cereal | 1.3.2 |
All the above dependencies are automatically handled by conan with the exception on Qt. This has to be manually installed by the user.
DAMN requires Conan2 to build the project.
First of all, install conan2:
pip install conan
Then, to build the project:
cd <wherever your DAMN repo is cloned>
conan install . --output-folder=build --build=missing
cd build
cmake -A x64 .. -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake
cmake --build . --config Release
The build process will generate three executable:
- Broker: this is the application that will act as a central server. Must be installed on a dedicated machine
- VisualizationClient: this is the application that will monitor all the registered devices
- RegistrationClient: this is the application that will allow current user to register her/his current session
To run the Broker:
./Broker
To run the VisualizationClient:
./VisualizationClient -a <broker IP address>
If no address is supplied, it will default to 127.0.0.1.
To run the RegistrationClient:
./VisualizationClient -i <device identifier> -a <broker IP address>
The parameter -i is mandatory. If no address is supplied, it will default to 127.0.0.1.
DWYW - Do Whatever You Want