Documentation
Detailed documentation can be found on the official site.
Binaries
Binaries for the slsDetectorPackage are available through conda.
#Add conda channels
conda config --add channels conda-forge
conda config --add channels slsdetectorgroup
conda install slsdetlib #only shared lib and command line
conda install slsdet #python bindings (includes slsdetlib)
conda install slsdetgui #gui (includes qt4)
#Install specific version
conda install slsdet=2020.03.02.dev0 #developer version from 3 March 2020
Source code
One can also obtain the source code from this repository and compile while realizing the setup dependencies as required.
git clone https://github.com/slsdetectorgroup/slsDetectorPackage.git
Setup dependencies
- Gui Client
Requirements: Qt 4.8 and Qwt 6.0
export QTDIR=/usr/local/Trolltech/
export QWTDIR=/usr/local/qwt-6.0.1/
If either of them does not exist, the GUI client will not be built.
- Advanced user Calibration wizards
Requirements: ROOT
export ROOTSYS=/usr/local/root-5.34
Compilation
Compiling can be done in two ways.
1. Compile using script cmk.sh
After compiling, the libraries and executables will be found in slsDetectorPackage/build/bin
directory
Usage: [-c] [-b] [-h] [-d HDF5 directory] [-j]
- -[no option]: only make
- -c: Clean
- -b: Builds/Rebuilds CMake files normal mode
- -h: Builds/Rebuilds Cmake files with HDF5 package
- -d: HDF5 Custom Directory
- -t: Build/Rebuilds only text client
- -r: Build/Rebuilds only receiver
- -g: Build/Rebuilds only gui
- -j: Number of threads to compile through
- -e: Debug mode
Basic Option: ./cmk.sh -b
For only make: ./cmk.sh
For make clean;make: ./cmk.sh -c
For using hdf5 without custom dir /blabla: ./cmk.sh -h -d /blabla
For rebuilding cmake without hdf5 ./cmk.sh -b
For using multiple cores to compile faster:
./cmk.sh -j9
For rebuilding only certain sections
./cmk.sh -tg #only text client and gui
./cmk.sh -r #only receiver
2. Compile without script
Use cmake to create out-of-source builds, by creating a build folder parallel to source directory.
$ cd ..
$ mkdir slsDetectorPackage-build
$ cd slsDetectorPackage-build
$ cmake ../slsDetectorPackage -DCMAKE_BUILD_TYPE=Debug -DSLS_USE_HDF5=OFF
$ make
Use the following as an example to compile statically and using specific hdf5 folder
$ HDF5_ROOT=/opt/hdf5v1.10.0 cmake ../slsDetectorPackage -DCMAKE_BUILD_TYPE=Debug -DSLS_USE_HDF5=ON
After compiling, the libraries and executables will be found at bin
directory
$ ls bin/
gui_client libSlsDetector.a libSlsDetector.so libSlsReceiver.a libSlsReceiver.so
sls_detector_acquire sls_detector_get slsDetectorGui sls_detector_help sls_detector_put slsReceiver slsMultiReceiver