Files
dcr/docs/configuration/build-profiles.md
Dexoron 0e93a1aa0f Added:
- `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
2026-03-16 20:50:32 +08:00

1014 B

Build profiles

DCR supports two profiles:

  • debug (default)
  • release

How to select

dcr build --debug
dcr build --release
dcr run --release
dcr clean --debug

Default profile flags

GCC/Clang-like toolchains

  • debug: -O0 -g -Wall -Wextra -fno-omit-frame-pointer -DDCR_DEBUG
  • release: -O3 -DNDEBUG -march=native

MSVC toolchain

  • debug: /Od /Zi /W4 /DDCR_DEBUG /Oy-
  • release: /O2 /DNDEBUG

Artifacts

By default:

  • target/debug/<name> (or .exe on Windows)
  • target/release/<name> (or .exe on Windows)

Default compiler flags:

GCC/Clang:

  • debug: -O0 -g -Wall -Wextra -fno-omit-frame-pointer -DDCR_DEBUG
  • release: -O3 -DNDEBUG -march=native

MSVC:

  • debug: /Od /Zi /W4 /DDCR_DEBUG /Oy-
  • release: /O2 /DNDEBUG

Static library mode (kind = "staticlib"):

  • Linux/macOS: lib<name>.a
  • Windows: <name>.lib

Shared library mode (kind = "sharedlib"):

  • Linux: lib<name>.so
  • macOS: lib<name>.dylib
  • Windows: <name>.dll