MPDRoot does have additional support for external packages required by some of the mpdroot developers for the future versions of code, but are not part of the main branch yet. We don’t add these packages as compulsory dependencies, until the code requiring them does not land in the main branch. This allows enough flexibility during the development process without clogging the code with dependencies, that may not be even needed in the future.
To compile MPDRoot with externally supported package (say, Eigen 3), first load its module with mpddev, i.e. instead of line “module add mpddev” in https://mpdroot.jinr.ru/running-mpdroot-on-local-machine-using-cvmfs/ write:
module add mpddev Eigen3
Include and library directories of supported external packages are added to BASE_INCLUDE_DIR and BASE_LIBRARY_DIR. Please note, that after loading module, variables moduleName_ROOT are created automatically.
Currently supported external packages:
Package | Module name | Variable MPDRoot looks for | Variables available in CMake | Dependencies |
---|---|---|---|---|
Eigen3 | Eigen3 | EIGEN3_ROOT | Eigen3_INCLUDE_DIRS, EIGEN3_ROOT | |
FFTW | FFTW | FFTW_ROOT | FFTW_INCLUDE_DIR, FFTW_LIBDIR, FFTW_ROOT | |
mxpfit | mxpfit | MXPFIT_ROOT | MXPFIT_INCLUDE_DIR, MXPFIT_ROOT | Eigen3, fftw |
Note: dependencies are auto-loaded, i.e. it is enough to call
module add mxpfit