mirror of
https://github.com/dexoron/dcr.git
synced 2026-10-21 19:29:30 +00:00
- `build.steps` for pre-build generators (e.g., `moc`/`uic`/`rcc`)
- `build.pkg_config` for `pkg-config`-driven cflags/ldflags resolution
- `[toolchain]` support for `uic`, `moc`, `rcc`
- Step command variables (`{uic}`, `{moc}`, `{rcc}`, `{cflags}`, `{stem}`, `{in}`, `{out}`)
- `{profile}` placeholder support for dependency paths
25 lines
805 B
Markdown
25 lines
805 B
Markdown
# Local dependencies
|
|
|
|
## Resolution flow during build
|
|
|
|
For each dependency in `[dependencies]`, DCR:
|
|
|
|
1. Resolves `path` (absolute or project-relative).
|
|
2. Resolves include dirs (`include` or default `include`).
|
|
3. Resolves lib dirs (`lib` or defaults `lib`, `lib64`).
|
|
4. Resolves link libs (`libs` or dependency name).
|
|
5. Synchronizes dependency files to `target/<profile>/deps/<dep-name>/`.
|
|
6. Adds include/lib/link options to compile/link commands.
|
|
|
|
### Profile placeholders
|
|
|
|
`path`, `include`, and `lib` entries may use `{profile}` which expands to the active profile
|
|
(`debug` or `release`).
|
|
|
|
## Failure cases
|
|
|
|
- Dependency path is missing or not a directory.
|
|
- No valid include/lib directories were found.
|
|
- Any configured include/lib path does not exist.
|
|
- Invalid field types in dependency config.
|