laze icon indicating copy to clipboard operation
laze copied to clipboard

A fast, declarative build system for C/C++ projects, based on Ninja

Results 11 laze issues
Sort by recently updated
recently updated
newest added

E.g., the riot-rs Cargo link-only "apps" don't invoke custom build rules for any selected modules.

This enables some nifty features: - [ ] allow modules to define Rules - [ ] allow modules to define Tasks - [x] conflict a context This also implies that...

Use cases: - blobs - generated sources, e.g., turn a `something.proto` into source code that then gets compiled These can already be expressed using custom build rules, but IMO that's...

At least, - [ ] git - [ ] local path Nice to have: - [ ] git shortcuts - [ ] gh:org/repo - [ ] gl:org/repo - [ ]...

Current sketch: - `tasks:` added to a module - every module that defines a task implicitly `provides_unique` a magic name, e.g., `::task::`

For running different cargo commands, I extracted what laze calls by running ``` $ laze -C examples/application build -v -b microbit-v2 -s probe-rs-run run laze: project root: /home/chrysn/git/crates/RIOT-rs relpath: examples/application...

Tasks could have dependencies. E.g., a "run-with-qemu" task could depend on a "qemu-config" module, and only be available if that module is.

Currently, all dependency resolution is within one app/builder pair. There are use cases for crossing that boundary: - an application might want to build with a previously built library -...

Currently, laze uses - **context** - **builder**: maybe change to "target"? Is that ambiguous with a "make target" (or "ninja target", which refers to a build output? - **apps**: not...

help wanted
bikeshedding

I tried to import another laze file in my `laze-project`: ```yml imports: - git: url: https://github.com/future-proof-iot/RIOT-rs commit: 3880b249564a249d6cd52b5aedc52597d35882bb apps: - name: hello-world selects: - ?release ``` This fails with: ```sh...