Files
dcr/docs/commands/dcr-run.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.3 KiB

dcr run

Builds the project and runs the resulting binary.

Usage

dcr run
dcr run --debug
dcr run --release
dcr run --target linux --release
dcr run --release --force
dcr run --debug --clean

Behavior

  1. Validates dcr.toml.
  2. Reads package.name, build.kind, and optional build.target.
  3. Runs the same build flow as dcr build.
  4. Executes the built artifact path for the selected profile.
  5. If [run].cmd is set, runs that command instead of the built binary.

Restrictions

  • If build.kind = "staticlib" or build.kind = "sharedlib", run exits with error.
  • The profile is selected from the first argument.
  • --target <triple> runs the binary for specified target (short names: linux, macos, windows).
  • --force skips build cache checks and recompiles.
  • --clean removes target/<profile> and build.clean paths before building.

run.cmd variables

run.cmd supports the same variables as build steps: {profile}, {version}, {version_major}, {version_minor}, {version_patch}, {version_suffix}, {version_suffix_dash}. The command runs via sh -c on Unix and cmd /C on Windows.

On build failure

dcr run attempts to launch an existing binary from the same profile if present; otherwise it reports that code errors must be fixed.