2026-08-12 18:03:20 +08:00
2026-08-12 18:03:20 +08:00

DCR — Dexoron Cargo Realization

A Cargo-style build tool for C/C++ projects

CI GitHub Release Platform
AUR Crates.io Homebrew
GitHub Stars License: GPL-3.0


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)
yay -S dcr
macOS/Linux(GNU) (Homebrew)
brew tap dexoron/dexoron
brew install dcr
Nix (flake)
nix run github:dexoron/dcr
# or install to profile:
nix profile install github:dexoron/dcr
Cargo (crates.io)
cargo install dcr
dcrup (Linux / macOS / BSD / Windows(Bash))
curl -fsSL https://sh.dcr-tool.ru | sh -s -- self-install
export PATH="$HOME/.dcr/bin:$PATH"
dcrup install stable
dcrup (Windows 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
Snap (Linux)

Snap Store publishing temporarily disabled — see #51671. Download the .snap from GitHub Releases and install manually:

sudo snap install --classic --dangerous dcrup_*.snap
From source
git clone https://github.com/dexoron/dcr.git
cd dcr && cargo build --release --features archive
ln -sf "$PWD/target/release/dcr" ~/.local/bin/dcr

Quick Start

dcr new hello
cd hello
dcr run

Project structure:

hello/
├── dcr.toml       # project config
└── src/
    └── main.c

dcr.toml Example

[package]
name = "hello"
version = "0.1.0"

[build]
language = "c"
standard = "c11"
compiler = "clang"
kind = "bin"

[dependencies]

Base Commands

Command Description
dcr new <name> Create a new project
dcr init Initialize current directory
dcr add <dep> Add a dependency
dcr build [--release] Build the project
dcr run [--release] Build and run
dcr clean Remove build artifacts
dcr test Run project tests
dcr fmt Format C/C++ sources (clang-format)
dcr tree View dependency tree
dcr gen <vscode|clion|compile-commands> Generate IDE integration
dcr setup Initialize DCR registry

other in docs/, dcr --help and dcr <command> --help


Platforms (pre-built binary)

OS x86_64 aarch64 armv7 i686 riscv64
Linux (GNU) ✅ ✅ ✅ ✅ ✅
Linux (Musl) ✅ ✅ ✅ ✅ 🚧
macOS ✅ ✅ ❌ ❌ ❌
Windows (MSVC) ✅ ✅ ❌ ✅ ❌
Windows (MinGW) ✅ 🚧 ❌ ❌ ❌
FreeBSD ✅ 🚧 ❌ ❌ ❌
OpenBSD ✅ 🚧 ❌ ❌ ❌
NetBSD ✅ 🚧 ❌ ❌ ❌

✅ pre-built binary · 🚧 planned · ❌ not supported by platform or CI


Documentation

Full docs at dcr.dexoron.su or in the docs/ directory.


Repository Mirrors

The primary repository is hosted on GitHub. The following mirrors are available for source code and releases:

Region Mirror Contents
Russia GitVerse (recommended) Source code and releases
Russia SourceCraft Source code and releases
Worldwide SourceForge (recommended) Source code and releases
Worldwide GitLab Source code and releases

VS Code Extension

Install the recommended DCR extension by Dexoron-Labs for VS Code. Do not install Microsoft C/C++ extensions for DCR projects; DCR uses clangd instead. If you need debugging with Microsoft's debugger, use MS C/C++ only for its debugger component.

Recommended companion extensions:


Contributors

Name Role GitHub
👤 Dexoron (Bezotechestvo Vladimir) Maintainer, Creator @dexoron
👤 Kai Maintainer @peoplemiau1

Contributing

See CONTRIBUTING.md. Before a PR:

cargo fmt --all
cargo clippy --all-targets --all-features -- -D warnings
cargo test

GPL-3.0 — see LICENSE
DCR is a build tool, not a library. The GPL applies only to DCR's own source code, not to projects built with it.
Made with ❤️ by Dexoron and contributors.

Description
DCR is a utility for managing C/C++ projects in a Cargo-like style.
Readme GPL-3.0 4.5 MiB
Languages
Rust 94%
Shell 3.2%
PowerShell 2.3%
Nix 0.4%