Use Nix as Reproducible Development Environment
The dependencies for a dynamic build can be fetched by running
from the topmost directory in the source tree.
The direnv tool is able to automate this process, create an
with the content:
and it will automatically add the dependencies to your shell environment when you move into the source directory.
If you want to silence the messages about binary caches you can use a variation
.envrc that invokes
nix with a lower verbosity setting:
mkdir -p "$(direnv_layout_dir)"
eval "$(nix --quiet --quiet print-dev-env --profile "$(direnv_layout_dir)/flake-profile" "$@")"
The VAST repository comes with a set of CMake configure and build presets that can be used in this environment:
This build environment is currently only tested on Linux.
Static binaries require a that the dependencies were built in static mode as well. That means we need to use a different environment, you can enter it with
nix develop .#vast-static
The CMake presets for that mode are