# Project-wide cargo configuration. # # Routes every rustc invocation through `sccache` so cold rebuilds and # fresh checkouts (CI, new dev box, after a `cargo clean`) replay # previously-compiled crates from a local on-disk cache rather than # recompiling them. Warm incremental builds still go through cargo's # own `target/` cache, which dominates locally — sccache buys you the # big wins on cold paths. # # Requires sccache on PATH. Install it once per machine: # # Arch : pacman -S sccache # macOS : brew install sccache # Cargo : cargo install sccache --locked # # Without sccache the build fails with "rustc-wrapper not found". To # bypass this config without editing the file, prepend # `RUSTC_WRAPPER= ` (empty value) to your cargo command: # # RUSTC_WRAPPER= cargo build # [build] rustc-wrapper = "sccache" # Project-local cache so the shared dev box (or a Docker volume) keeps # the artefacts isolated per checkout instead of mixing them in # `~/.cache/sccache`. Set with `force = false` so a developer-set # `SCCACHE_DIR` in their shell wins — important because the sccache # daemon, once started, sticks with whichever directory it saw first. [env] SCCACHE_DIR = { value = ".sccache-cache", relative = true, force = false }