mirror of
https://github.com/dexoron/dcr.git
synced 2026-10-21 10:58:29 +00:00
- 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.
1.7 KiB
1.7 KiB
Contributing
Thanks for your interest in the project.
Requirements
- Use Rust stable.
- Before opening a PR, the code must pass formatting, linting, and build.
Quick Start
git clone https://github.com/dexoron/dcr.git
cd dcr
cargo check
Code Style
- Format code with
cargo fmt. - Check warnings with
cargo clippy. - Keep functions small and focused.
- Prefer clear names over clever ones.
Target System
DCR supports cross-compilation via --target <triple> or short names:
dcr build --target linux --release(maps tox86_64-unknown-linux-gnu)dcr build --target macos --release(maps tox86_64-apple-darwin)dcr build --target windows --release(maps tox86_64-pc-windows-msvc)- Full triples:
dcr build --target aarch64-linux-gnu --release - Configure multiple targets in
dcr.toml:[build.targets] targets = ["linux", "macos"] [build.linux] compiler = "gcc" [build.macos] compiler = "clang" - If no
--target, builds for targets inbuild.targetsor native if empty.
Checks
Before PR, run:
cargo fmt --all
cargo clippy --all-targets --all-features -- -D warnings
cargo check
cargo test
CI/CD and Releases
- CI:
.github/workflows/ci.yml - Release:
.github/workflows/release.yml - Releases are triggered by tags
v*and publish binaries for: x86_64-unknown-linux-gnux86_64-apple-darwinaarch64-apple-darwinx86_64-pc-windows-msvc
Commits and PRs
- Write clear commit messages.
- In PRs, include a short description and rationale.
- Update documentation when behavior changes.
Questions
If anything is unclear, open an issue or ask in the PR.
You can also reach out directly:
- TG: @dexoron
- DS: dexoron