From 95379fe6604edd31684126ccd5fa793133b06a8d Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Fri, 14 Aug 2026 14:26:26 +0200 Subject: [PATCH] 1010/update doc dependency (#1522) * update documentation regarding dependencies * compiles --- README.md | 60 +++++++++++++++------------ docs/CMakeLists.txt | 2 +- docs/src/dependencies.rst | 86 +++++++++++++++++++++++---------------- 3 files changed, 86 insertions(+), 62 deletions(-) diff --git a/README.md b/README.md index f468bd102..c60fe504a 100644 --- a/README.md +++ b/README.md @@ -83,51 +83,61 @@ To use the basic building blocks, meaning sls_detector_get/put and the shared li > **Note:** For v9.x.x of slsDetectorPackage and older, C++11 compatible compiler. -#### Python bindings -* Python >= 3.8 +Additionally the core requires the following dependencies: -* pybind11 2.13.6 (packaged in libs) + * ZeroMQ 4.3.4 (packaged in libs) + * rapidjson 1.1.0 (packaged in libs) -> **Note:** Refer [pybind11 notes](#4-pybind-and-zeromq). - -#### ZeroMQ - -* Zeromq 4.3.4 (packaged in libs) +> **Note:** Both ZeroMQ and rapidjson are bundled in libs. One does not need to pre-install them on the system. Alternatively, one can fetch ZeroMQ from GitHub by passing the cmake options ``-DSLS_FETCH_ZEROMQ_FROM_GITHUB=ON``. > **Note:** Refer [zeromq notes](#4-pybind-and-zeromq). -#### GUI +#### Dependencies to build Python module -* Qt 5.9 +To build the python module the following dependencies are needed: -* Qwt 6.1.5 (packaged in libs) + * 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``. -#### Moench executables +> **Note:** Refer [pybind11 notes](#4-pybind-and-zeromq). -* libtiff -#### Documentation +#### Dependencies to build documentation -The documentation is built with -* Doxygen (to extract C++ classes etc.) +To build this documentation that you are reading now the following dependencies are needed: -* Breathe (Sphinx plugin to handle doxygen xml) + * Doxygen (to extract C++ classes etc.) + * Breathe (Sphinx plugin to handle doxygen xml) + * Sphinx with sphinx_rtd_theme -* Sphinx with sphinx_rtd_theme +#### Dependencies to build GUI -#### Packaged in libs/ +To build the GUI the following dependencies are needed: -* catch2 (unit testing) + * Qt 5.9 + * Qwt 6.1.5 (packaged in libs) -* rapidjson (streaming from receiver) +> **Note:** Qwt is bundled in libs. One does not need to pre-install it on the system. -* pybind11 (python bindings) -* qwt (gui plotting) +#### Dependencies to build Moench and Jungfrau executables -* libzmq (streaming to/from receiver) + +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 2.13.8 (packaged in libs) + +> **Note:** Catch2 is bundled in libs. One does not need to pre-install it on the system. ### 3.2. Download Source Code from github ``` @@ -359,6 +369,6 @@ zeromq-devel must be installed and one can hint its location using ## Support - dhanya.thattil@psi.ch erik.frojdh@psi.ch + dhanya.thattil@psi.ch alice.mazzoleni@psi.ch \ No newline at end of file diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt index dbf736a38..5e7442cae 100644 --- a/docs/CMakeLists.txt +++ b/docs/CMakeLists.txt @@ -11,7 +11,7 @@ add_executable(gendoc src/gendoc.cpp) # This is a bit hacky, but better than exposing stuff? target_include_directories(gendoc PRIVATE ${PROJECT_SOURCE_DIR}/slsDetectorSoftware/src) target_link_libraries(gendoc PRIVATE - slsDetectorShared + slsDetectorStatic ) set_target_properties(gendoc PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin diff --git a/docs/src/dependencies.rst b/docs/src/dependencies.rst index 4a740c68a..a4e49d577 100644 --- a/docs/src/dependencies.rst +++ b/docs/src/dependencies.rst @@ -16,35 +16,57 @@ the shared libraries these are needed: * CMake >= 3.14 * C++17 compatible compiler. (We test with gcc and clang) -.. note :: +.. note:: For v9.x.x of slsDetectorPackage and older, C++11 compatible compiler. ------------------------ -Python bindings ------------------------ +Additionally the core requires the following dependencies: - * Python >= 3.8 - * pybind11 2.13.6 (packaged in libs) + * ZeroMQ 4.3.4 (packaged in libs) + * rapidjson 1.1.0 (packaged in libs) -.. note :: +.. note:: - Refer :ref:`pybind11 notes. ` + Both ZeroMQ and rapidjson are bundled in libs. One does not need to pre-install them on the system. Alternatively, one can fetch ZeroMQ from GitHub by passing the cmake options ``-DSLS_FETCH_ZEROMQ_FROM_GITHUB=ON``. ------------------------ -ZeroMQ ------------------------ - - * Zeromq 4.3.4 (packaged in libs) - -.. note :: +.. note:: Refer :ref:`zeromq notes. ` ------------------------ -GUI ------------------------ + +------------------------------------ +Dependencies to build Python module +------------------------------------ + +To build the python module the following dependencies are needed: + + * Python >= 3.8 + * pybind11 2.13.8 (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 :ref:`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) @@ -53,30 +75,22 @@ GUI 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 ------------------------ -Documentation ------------------------ +-------------------------------------------------- +Dependencies to build Tests +-------------------------------------------------- -The documentation that you are reading now is built with +To build the tests the following dependencies are needed: - * Doxygen (to extract C++ classes etc.) - * Breathe (Sphinx plugin to handle doxygen xml) - * Sphinx with sphinx_rtd_theme + * Catch2 2.13.8 (packaged in libs) ------------------------ -Packaged in libs/ ------------------------ - - * catch2 (unit testing) - * rapidjson (streaming from receiver) - * pybind11 (python bindings) - * qwt (gui plotting) - * libzmq (streaming to/from receiver) \ No newline at end of file +.. note:: + + Catch2 is bundled in libs. One does not need to pre-install it on the system.