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:

PackageModule nameVariable MPDRoot looks forVariables available in CMakeDependencies
Eigen3Eigen3EIGEN3_ROOTEigen3_INCLUDE_DIRS, EIGEN3_ROOT
FFTWFFTWFFTW_ROOTFFTW_INCLUDE_DIR, FFTW_LIBDIR, FFTW_ROOT
mxpfitmxpfitMXPFIT_ROOTMXPFIT_INCLUDE_DIR,
MXPFIT_ROOT
Eigen3, fftw

Note: dependencies are auto-loaded, i.e. it is enough to call

module add mxpfit
Categories: Posts