A simple and extensible build system for wesl-rs, the compiler for WESL (WGSL Extended) shaders.
cargo add wesl_build --buildIn build.rs:
use wesl_build::{build_shader_dir, WeslBuildError};
use wesl_build::{extensions, extension::WeslBuildExtension};
fn main() {
    build_shader_dir("src/shaders", extensions![/* Extension::new() */]).expect("Building shaders failed");
}Now all shaders in src/shaders will be compiled with subdirectories accting as modules
For faster builds add this to your Cargo.toml, it will speed up builds after the first one:
[profile.dev.package."wesl"]
opt-level = 3
[profile.dev.package."naga"]
opt-level = 3
# optional
[profile.dev.package."wesl_build"]
opt-level = 3