- Incremental builds (object caching by mtime)
- `build.kind` with `staticlib` support
- Custom output directory via `build.target`
This commit is contained in:
2026-02-26 17:03:35 +08:00
parent 9fe2604154
commit 7817834790
19 changed files with 410 additions and 56 deletions

View File

@@ -13,6 +13,8 @@ version = "0.1.0"
language = "c"
standard = "c11"
compiler = "gcc"
# Build kind: "bin" (default) or "staticlib"
kind = "bin"
# Output directory for binary (optional)
target = "./dist"
# Custom compile/link flags (optional)
@@ -33,10 +35,15 @@ frecli = { path = "./lib/frecli", include = ["."], lib = ["."], libs = ["frecli"
- `language` (string, required): `c`, `c++`, `cpp`, or `cxx`
- `standard` (string, required): e.g. `c99`, `c11`, `c++17`
- `compiler` (string, required): `gcc`, `clang`, `cl`(msvc), or `clang-cl`
- `kind` (string, optional): `bin` (default) or `staticlib`
- `target` (string, optional): output directory for the binary (profile-independent)
- `cflags` (string[], optional): additional compile flags
- `ldflags` (string[], optional): additional link flags
Notes:
- `dcr run` is supported only for `kind = "bin"`.
- Incremental rebuild currently tracks source file changes (`.c/.cpp`) only.
### [dependencies]
Only `path` dependencies are supported right now.