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++17 compatible compiler. (We test with gcc and clang)
Note
For v9.x.x of slsDetectorPackage and older, C++11 compatible compiler.
Additionally the core requires the following dependencies:
fmt 12.1.0 (packaged in libs)
ZeroMQ 4.3.4 (packaged in libs)
rapidjson (packaged in libs)
Note
Both fmt, ZeroMQ and rapidjson are bundled in libs. One does not need to pre-install them on the system. Alternatively, one can fetch fmt and ZeroMQ from GitHub by passing the cmake options -DSLS_FETCH_FMT_FROM_GITHUB=ON and -DSLS_FETCH_ZEROMQ_FROM_GITHUB=ON respectively.
Note
Refer zeromq notes.
Dependencies to build Python module
To build the python module the following dependencies are needed:
Python >= 3.8
pybind11 2.13.6 (packaged in libs)
Note
pybind11 is bundled in libs. One does not need to pre-install it on the system. Alternatively, one can fetch pybind11 from GitHub by passing the cmake option -DSLS_FETCH_PYBIND11_FROM_GITHUB=ON.
Note
Refer pybind11 notes.
Dependencies to build documentation
To build this documentation that you are reading now the following dependencies are needed:
Doxygen (to extract C++ classes etc.)
Breathe (Sphinx plugin to handle doxygen xml)
Sphinx with sphinx_rtd_theme
Dependencies to build GUI
To build the GUI the following dependencies are needed:
Qt 5.9
Qwt 6.1.5 (packaged in libs)
Note
Qwt is bundled in libs. One does not need to pre-install it on the system.
Dependencies to build Moench and Jungfrau executables
To build the Moench and Jungfrau executables for preprocessing and calibration the following dependencies are needed:
libtiff
Dependencies to build Tests
To build the tests the following dependencies are needed:
Catch2 3.4.0 (packaged in libs)
Note
Catch2 is bundled in libs. One does not need to pre-install it on the system.