mirror of
https://github.com/dexoron/dcr.git
synced 2026-10-21 14:38:30 +00:00
- Workspace support (`[workspace]` with deps ordering) - `clean --all` for workspace members Changed: - Project root discovery for `build/run/clean` (searches parent dirs) - Workspace paths are excluded from root source scan - Build output now uses a Cargo-style `Compiling <name> v<version>` line - Build time now reports total time for the whole build stage (workspace included) - Cache hits are silent (no compile line when nothing is rebuilt) - Safer build cache: fingerprints include headers and resolved library files
51 lines
887 B
Markdown
51 lines
887 B
Markdown
# dcr.toml overview
|
|
|
|
`dcr.toml` is the main project file used by DCR.
|
|
|
|
## Minimal generated template
|
|
|
|
```toml
|
|
[package]
|
|
name = "hello"
|
|
version = "0.1.0"
|
|
|
|
[build]
|
|
language = "c"
|
|
standard = "c11"
|
|
compiler = "clang"
|
|
kind = "bin"
|
|
|
|
[dependencies]
|
|
```
|
|
|
|
`dcr new` and `dcr init` generate this structure automatically.
|
|
|
|
## Required sections
|
|
|
|
- `[package]`
|
|
- `[build]`
|
|
- `[dependencies]`
|
|
|
|
Workspace-only root:
|
|
- `[workspace]` may be used instead of `[package]`/`[build]` for a workspace root.
|
|
|
|
## Required keys
|
|
|
|
- `package.name`
|
|
- `package.version`
|
|
- `build.language`
|
|
- `build.standard`
|
|
- `build.compiler`
|
|
- `build.kind`
|
|
|
|
`build.kind` must be either `bin`, `staticlib`, or `sharedlib`.
|
|
|
|
## Optional keys
|
|
|
|
- `build.target`
|
|
- `build.cflags`
|
|
- `build.ldflags`
|
|
- dependency fields (`include`, `lib`, `libs`, `system`)
|
|
- `[toolchain]` overrides (`cc`, `cxx`, `as`, `ar`, `ld`)
|
|
- `[workspace]` members
|