Skip to content

Maintainer: Dependency Changes

Axel Huebl edited this page Feb 17, 2017 · 9 revisions

You are here: Home > Maintainer Documentation > Maintainer: Dependency Changes


Workflow: Dependency Change in PIConGPU

In case someone wants to

  • add
  • remove
  • modify

a dependency, of a dependency-component (e.g., boost components) or its minimum/maximum versions used in PIConGPU we have to adjust a set of files for maintainability.

But before that, lets talk about

General Considerations for Dependencies

  • keep them minimal (the fewer, the easier to install PIConGPU)
  • keep them standard (no exotic tweaks or forks)
  • keep them maintained (use upstream dependencies that are active, have continuous integration for your (GPU!) use case, they accept contributions for fixes we find and be sure they have regular, documented releases - otherwise, one will get locked in and ends in maintenance hell fixing those, too)

Places to Adjust

  • check the versions in all CMakeLists.txt files (e.g., libSplash updates will also update some tools)
  • update the INSTALL.md file
  • update the picongpu.profile.example files for our "known clusters"
  • in the future, update the conanfile.txt
  • in the future, update Dockerfile
  • document it in the upcoming CHANGELOG.md in the next release

if necessary,

  • update docs/libraryDependencies.[dot|png]
  • update thirdParty/cmake-modules
  • remove outdated workaround code for older (then unsupported) versions in a follow-up PR