mirror of
https://github.com/dexoron/dcr.git
synced 2026-10-21 13:28:30 +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.1 KiB
1.1 KiB
Project structure
Minimal project
project/
- dcr.toml
- src/
- - main.c
Typical generated/optional files
project/
- dcr.toml
- dcr.lock
- src/
- - ... source files ...
- target/
- - debug/
- - - obj/
- - - deps/
- - release/
- - - obj/
- - - deps/
Meaning
dcr.toml: main project configuration.dcr.lock: generated lock file for resolved path dependencies.src/: recursively scanned source directory.target/<target>/<profile>/obj/: cached object files for incremental rebuild (where<target>isnativeor target triple).target/<target>/<profile>/deps/: synchronized copies of path dependencies.target/<target>/<profile>/<name>(or.exeon Windows): output forkind = "bin".target/<target>/<profile>/lib<name>.a(or<name>.libon Windows): output forkind = "staticlib".target/<target>/<profile>/lib<name>.so(or.dylibon macOS,<name>.dllon Windows): output forkind = "sharedlib".
If build.target is set, the final artifact is written to that custom directory, while object cache still stays in target/<target>/<profile>/obj.