A Cargo-style build tool for C/C++ projects
--- ## Why DCR? - **No boilerplate** — one config file, predictable structure - **Cargo-like workflow** — `build`, `run`, `clean`, `test`, `add`, `fmt` - **Cross-compilation** — full target triple support with short names - **IDE integration** — VS Code, CLion, `compile_commands.json` out of the box - **Dependencies** — path, git, and registry-based with lock file - **Man pages** — `man dcr` and per-command pages (`man dcr-build`, `man dcr-new`, etc.) --- ## Installation| Arch Linux (AUR) | ```sh yay -S dcr # or paru -S dcr ``` > 💡 Do you like DCR? Vote for the package on the [AUR](https://aur.archlinux.org/packages/dcr) page—it will help the project get into the official "extra" repository! |
| macOS/Linux(GNU) (Homebrew) | ```sh brew tap dexoron/dexoron brew install dcr ``` |
| Nix (flake) | ```sh nix run github:dexoron/dcr # or install to profile: nix profile install github:dexoron/dcr ``` |
| Cargo (crates.io) | ```sh cargo install dcr ``` |
| dcrup (Linux / macOS / BSD / Windows(Bash)) | ```sh curl -fsSL https://sh.dcr-tool.ru | sh -s -- self-install export PATH="$HOME/.dcr/bin:$PATH" dcrup install stable # auto: cf → gh → sf → ya # dcrup install stable --mirror cf # CloudFlare CDN # dcrup install stable --mirror ya # Yandex CDN (RU) ``` |
| dcrup (Windows PowerShell) | ```powershell irm https://ps1.dcr-tool.ru | iex # or: # irm https://ps1.dcr-tool.ru -OutFile dcrup.ps1 # powershell -File .\dcrup.ps1 self-install # $env:Path += ";$env:USERPROFILE\.dcr\bin" dcrup install stable # auto: cf → gh → sf → ya # dcrup install stable --mirror cf # CloudFlare CDN # dcrup install stable --mirror ya # Yandex CDN (RU) ``` |
| Snap (Linux) | > Snap Store publishing temporarily disabled — see [#51671](https://forum.snapcraft.io/t/classic-confinement-request-for-dcrup/51671). > Download the `.snap` from [GitHub Releases](https://github.com/dexoron/dcr/releases/latest) and install manually: ```sh sudo snap install --classic --dangerous dcrup_*.snap ``` |
| From source | ```sh git clone https://github.com/dexoron/dcr.git cd dcr && cargo build --release --features archive ln -sf "$PWD/target/release/dcr" ~/.local/bin/dcr ``` |