Desktop Suite

The basic suite containing mainly the tools for defining and manipulating RoFI shape, algorithmic libraries and benchmarks.

Dependencies

Refer to suites/desktop/Dockerfile for the up-to-date reference build and development environment. On top of basic C/C++ dependencies, the following extra libraries are required to be installed:

  • Armadillo: for APT-based system, install libarmadillo-dev

  • VTK >=7: for APT-based system, install libvtk7-dev

  • QT 5 and QT-VTK: for APT-based system, install libvtk7-qt-dev qtdeclarative5-dev

  • GazeboSim >=11: for APT-based system, install libgazebo11-dev. This dependecy can be removed using the build options.

  • Z3: this dependency is only needed for compiling SMT reconfiguration.

  • Clp: for APT-based system, install

    coinor-clp coinor-libclp-dev

On top of the build dependencies, FFMpeg and Inkscape are required to use the animation feature of the visualizer.

Build options

  • BUILD_HEADLESS (default FALSE): Build only parts of the project that can run headlessly. I.e., does not compile visualizer nor rofi-app.

  • BUILD_GAZEBO (default TRUE): Build parts that require gazebo libraries.

  • BUILD_RUST (default TRUE): Build parts that contain or depend on Rust.

  • BUILD_SMTRECONFIG (default FALSE): Defines whether to build the library for reconfiguration via reduction to SMT. The library is not directly applicable and also brings heavy dependency in the form of Z3, thus it makes sense to do not compile it by-default.