Files
dcr/docs/configuration/dcr.toml-overview.md
Dexoron fd88e036ed feat: add cross-compilation support with --target flag
- Updated build and run commands to accept a --target option for specifying target platforms.
- Enhanced documentation to include cross-compilation usage and supported targets.
- Modified configuration to allow target-specific settings and toolchains.
- Introduced a new test command to run project tests with specified profiles and targets.
- Improved handling of target directories and output structure for different platforms.
- Added support for multiple targets in the configuration file.
- Implemented inheritance for workspace and dependencies based on target and profile.
2026-04-11 13:36:18 +08:00

1.5 KiB

dcr.toml overview

dcr.toml is the main project file used by DCR.

Minimal generated template

[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] can be added to a normal root config to define members and dependency order.
  • Root config still requires [package], [build], and [dependencies].

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.inherit
  • build.targets
  • build.target
  • build.platform
  • build.cflags
  • build.ldflags
  • build.exclude
  • build.include
  • build.roots
  • build.src_disable
  • build.pkg_config
  • build.steps
  • build.post_steps
  • build.generated
  • build.expect
  • build.clean
  • build.debug
  • build.release
  • build.<target> (target-specific overrides)
  • dependency fields (include, lib, libs, system)
  • [toolchain] overrides (cc, cxx, as, ar, ld, uic, moc, rcc)
  • [toolchain.<target>] (target-specific toolchain)
  • [workspace] members
  • [workspace.<target>] (target-specific workspace)
  • [run] overrides (cmd)
  • [run.<target>] (target-specific run)