Build system [tooling.build]

We use a build system with make and git submodules. The long term plan is to move to a dedicated package and build manager once one becomes available.

Pros

  • Reproducible build environment
  • Fewer disruptions due to mismatching versions of compiler and dependencies

Cons

  • Increased build system complexity with tools that may not be familiar to nim developers
  • Build system dependencies hard to use on Windows and constrained environments

nimble

We do not use nimble, due to the lack of build reproducibility and other team-oriented features. We sometimes provide .nimble packages but these may be out of date and/or incomplete.