Files
dcr/docs/index.md
Dexoron 7817834790 Added:
- Incremental builds (object caching by mtime)
- `build.kind` with `staticlib` support
- Custom output directory via `build.target`
2026-02-26 17:03:35 +08:00

1.0 KiB

DCR Documentation

DCR is a lightweight build tool for C/C++ projects with a Cargo-like workflow.

Quick Start

dcr new hello
cd hello
dcr run

Configuration

Project configuration lives in dcr.toml. See docs/dcr-toml.md for the full schema and examples.

Build Flags

You can add custom compile and link flags in [build]:

[build]
compiler = "gcc"
standard = "c99"
kind = "bin"
target = "./dist"
cflags = ["-D_POSIX_C_SOURCE=200809L", "-Wall", "-Wextra", "-O2", "-Ilib/frecli"]
ldflags = ["-Llib/frecli", "-lfrecli", "-lm"]

Dependencies

Path dependencies can be declared in [dependencies] and are resolved on build.

[dependencies]
frecli = { path = "./lib/frecli", include = ["."], lib = ["."], libs = ["frecli"] }

Source Discovery

DCR compiles all .c/.cpp files under src/ recursively. The file containing main() can be in any subdirectory.

Notes

  • dcr run works only for kind = "bin".
  • Incremental rebuild currently tracks source file changes only (.c/.cpp).