Our aim is to keep the number of external dependencies as low as possible. However, there are a few good reasons to rely on a few external packages.
However, the only true dependence is "python3", since we install "conan" via "pip3" and then obtain packages on all systems via the conan packet manager. Those packages are:
eigen3
- header only
- for linear algebra and geometry
- avoid implicit boost dependencies: find with
grep -Ri "Eigen3_INCLUDE" .
and remove! - use explicit boost dependence tracking with cmake target CORSIKAeigen3
boost
- header only
- check the use of boost with:
grep -R "#include <boost/" .
- avoid implicit boost dependencies: find with
grep -R "Boost_INCLUDE" .
and remove! - use explicit boost dependence tracking with cmake target CORSIKAboost
- boost-histogram
phys/Units -> included in framework
- header only
- for physics units
- we provide our own version as part of the framework itself
catch2
- header only
- for unit testing.
pythia8
- event and decay generator
- we support system-level install, and provide a tar version in "modules"
conex
- cascade equation solver for air showers
- we support system-level install, and provide a git-submodule version via "modules"
proposal
- muon and e.m. physics
- we provide a git-submodule version via "modules"