mirror of
https://github.com/dexoron/dcr.git
synced 2026-10-21 16:19:37 +00:00
fix: split target into target (triple) and out_dir (output directory)
build.target now holds the target triple (e.g. x86_64-unknown-linux-gnu) build.out_dir is a custom output directory that overrides the default target/<triple>/<profile> path.
This commit is contained in:
@@ -2,22 +2,29 @@
|
||||
|
||||
By default, DCR writes final artifacts to `target/<target>/<profile>/` (where `<target>` is `native` or target triple).
|
||||
|
||||
You can override this with `build.target`:
|
||||
You can override this with `build.out_dir`:
|
||||
|
||||
```toml
|
||||
[build]
|
||||
target = "./dist"
|
||||
out_dir = "./dist"
|
||||
```
|
||||
|
||||
## Behavior
|
||||
|
||||
- Binary mode:
|
||||
- Linux/macOS: `<target>/<name>`
|
||||
- Windows: `<target>/<name>.exe`
|
||||
- Linux/macOS: `<out_dir>/<name>`
|
||||
- Windows: `<out_dir>/<name>.exe`
|
||||
- Static library mode:
|
||||
- Linux/macOS: `<target>/lib<name>.a`
|
||||
- Windows: `<target>/<name>.lib`
|
||||
- Linux/macOS: `<out_dir>/lib<name>.a`
|
||||
- Windows: `<out_dir>/<name>.lib`
|
||||
|
||||
## Important detail
|
||||
|
||||
`build.target` changes only the final artifact location. Object cache and dependency sync directories still use `target/<target>/<profile>/...`.
|
||||
`build.out_dir` changes only the final artifact location. Object cache and dependency sync directories still use `target/<target>/<profile>/...`.
|
||||
|
||||
## Distinction from platform targets
|
||||
|
||||
- `build.out_dir` — custom **output directory** path.
|
||||
- `build.target` / `--target <triple>` CLI flag — **platform target** for cross-compilation (e.g. `x86_64-unknown-linux-gnu`, or short name `linux`).
|
||||
- `build.targets` (array) — list of **platform targets** to build simultaneously.
|
||||
- `[build.<target>]` sections — **target-specific config overrides** (e.g. `[build.linux]`).
|
||||
|
||||
Reference in New Issue
Block a user