mirror of
https://github.com/dexoron/dcr.git
synced 2026-10-21 23:09:36 +00:00
- `sharedlib` build kind (shared library output) - ASM projects (`build.language = "asm"`) - NASM and GAS backends - `build.platform` architecture hint for `-march` / `/arch` - Basic CLI integration tests
39 lines
1.3 KiB
Markdown
39 lines
1.3 KiB
Markdown
# Introduction
|
|
|
|
DCR (Dexoron Cargo Realization) is a Cargo-style CLI for C/C++ projects.
|
|
|
|
Current DCR focuses on a simple, predictable workflow:
|
|
|
|
- create or initialize a project (`dcr new`, `dcr init`)
|
|
- build with `debug` or `release` profiles (`dcr build`)
|
|
- run binaries (`dcr run`)
|
|
- clean artifacts (`dcr clean`)
|
|
- update the installed binary (`dcr --update`)
|
|
|
|
## What is implemented in this version
|
|
|
|
- Project configuration in `dcr.toml` with `[package]`, `[build]`, `[dependencies]`.
|
|
- Recursive source discovery in `src/`:
|
|
- C: `*.c`
|
|
- C++: `*.cpp`, `*.cxx`, `*.cc`
|
|
- Compiler selection from `dcr.toml` (`clang`, `gcc`, `cl`, `clang-cl`, etc.).
|
|
- ASM support via `language = "asm"` (GCC/Clang, NASM, GAS).
|
|
- Three build kinds:
|
|
- `bin` (default)
|
|
- `staticlib`
|
|
- `sharedlib`
|
|
- Optional custom output directory via `build.target`.
|
|
- Optional `build.platform` to pass architecture hints (`-march` / `/arch`).
|
|
- Path dependencies with include/lib resolution and `dcr.lock` generation.
|
|
|
|
## Important behavior notes
|
|
|
|
- `dcr.toml` is required for `build`, `run`, and `clean`.
|
|
- `run` works only with `build.kind = "bin"`.
|
|
- Incremental rebuild currently tracks source file timestamps (not header dependency graphs).
|
|
- Object files are always created under `target/<profile>/obj/`.
|
|
|
|
## Repository
|
|
|
|
- <https://github.com/dexoron/dcr>
|