atagen

monolith

public
Star0
Watch0
f8499fd614ae7e891ae36b7456b5c3f20cf3f39d
1
ssh://brewery@pls.lobotomise.me:33/atagen/monolith.git

Blame: crates/render-vk/build.rs

824bf02b6e55atagen2026-10-16 09:15 UTC1
use std::path::PathBuf;
824bf02b6e55atagen2026-10-16 09:15 UTC2
use std::process::Command;
824bf02b6e55atagen2026-10-16 09:15 UTC3
824bf02b6e55atagen2026-10-16 09:15 UTC4
fn main() {
824bf02b6e55atagen2026-10-16 09:15 UTC5
    let out = PathBuf::from(std::env::var("OUT_DIR").expect("OUT_DIR"));
824bf02b6e55atagen2026-10-16 09:15 UTC6
    println!("cargo:rerun-if-changed=shaders");
96db497859dcatagen2026-10-16 11:27 UTC7
    for name in ["quad.vert", "solid.frag", "texture.frag", "effect.frag"] {
824bf02b6e55atagen2026-10-16 09:15 UTC8
        let status = Command::new("glslangValidator")
824bf02b6e55atagen2026-10-16 09:15 UTC9
            .args(["-V", "--target-env", "vulkan1.3", "-o"])
824bf02b6e55atagen2026-10-16 09:15 UTC10
            .arg(out.join(format!("{name}.spv")))
824bf02b6e55atagen2026-10-16 09:15 UTC11
            .arg(format!("shaders/{name}"))
824bf02b6e55atagen2026-10-16 09:15 UTC12
            .status()
824bf02b6e55atagen2026-10-16 09:15 UTC13
            .expect("glslangValidator not found, build inside the nix devshell");
824bf02b6e55atagen2026-10-16 09:15 UTC14
        assert!(status.success(), "failed to compile shaders/{name}");
824bf02b6e55atagen2026-10-16 09:15 UTC15
    }
824bf02b6e55atagen2026-10-16 09:15 UTC16
}