Dependencies
While we value few dependencies some libraries are required in order to not have to reinvent the wheel. Due to the state of package management in C++ we decided to bundle some of them with our source code. These are found in the libs/ directory.
Core
To use the basic building blocks, meaning sls_detector_get/put and the shared libraries these are needed:
Linux, preferably recent kernel (currently no cross platform support)
CMake >= 3.14
C++11 compatible compiler. (We test with gcc and clang)
Python bindings
Python > 3.6
pybind11 2.11.0 (packaged in libs)
Note
Refer pybind11 notes.
ZeroMQ
Zeromq 4.3.4 (packaged in libs)
Note
Refer zeromq notes.
GUI
Qt 5.9
Qwt 6.1.5 (packaged in libs)
Moench executables
libtiff
Documentation
The documentation that you are reading now is built with
Doxygen (to extract C++ classes etc.)
Breathe (Sphinx plugin to handle doxygen xml)
Sphinx with sphinx_rtd_theme
Packaged in libs/
catch2 (unit testing)
rapidjson (streaming from receiver)
pybind11 (python bindings)
qwt (gui plotting)
libzmq (streaming to/from receiver)