Install third-party software

The default build requires:

  • Python 3.10 or newer;
  • a compiler with C++20 support;
  • CMake 3.20 or newer;
  • Ninja;
  • Git;
  • FFTW3;
  • GSL;
  • libcerf with its shared C++ library;
  • libheinz 4.1 or newer;
  • libformfactor 0.5.1 or newer.

Prepare an isolated Python environment with the Python build dependencies.

Install the compiler, build tools, FFTW3, GSL, and libcerf with the operating system’s package manager. Package names vary by distribution. Install libheinz and libformfactor from source when suitable system packages are not available.

Developer build

A build configured with -DDEV=ON additionally requires:

  • SWIG, to regenerate the Python API wrappers;
  • Ruby with ERB, to regenerate the examples;
  • Doxygen with Graphviz (dot), to generate the API documentation.

Developers should also install ccache and clang-format. Hugo is needed only when working on the web documentation.

On macOS, Homebrew provides the external tools and libraries:

brew install git cmake ninja fftw gsl libcerf

Pass any non-standard installation prefixes to CMake through CMAKE_PREFIX_PATH. See Configure for development for the corresponding CMake settings.