DCR — C/C++ Build Tool & Package Manager
Quick reference
# Installation (dcrup)
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 / GitHub / SourceForge / Yandex
# Create a project
dcr new my-app
cd my-app
# Build and run
dcr build
dcr run
# Run tests
dcr test
# Add a dependency
dcr add fmt
# Generate IDE files
dcr gen vscode
Contents
| Section | Description |
|---|---|
| Getting Started | Installation and first steps |
| Commands | All CLI commands |
| Reference | Configuration, build, dependencies, platforms |
| Testing | Built-in test framework |
| Recipes | Common scenarios |
| IDE Integration | VS Code, CLion, compile_commands.json |
| Self Update | Auto-update |
| FAQ | Frequently asked questions |
| Changelog | Version history |
| License | DCR and vendored library licenses |
| Contributing | DCR development |
Features
- Incremental builds — mtime +
.dheaders + SHA256 fingerprint - Parallel compilation — thread::scope, atomic task queue
- 7 backends — gcc/clang (unix_cc), MSVC/clang-cl (msvc), GAS, NASM, MASM, FASM, LLVM IR
- 8 project kinds — bin, staticlib, sharedlib, efi, elf, none, custom, flat-bin
- Disk images — optional
[archive]packs FAT12/16/32 images after build - Cross-compilation — short names and full triples
- Profiles — debug / release with field overrides
- Workspaces — multi-package projects with topological sort
- Registry + Git + Path — three dependency mechanisms
- IDE generation — VS Code, CLion, compile_commands.json, JSON metadata
- pkg-config — automatic system library discovery
- Per-command
--help—dcr build --help,dcr new --help, etc. - Man pages —
man dcr,man dcr-build,man dcr-new