| 1 | use std::path::PathBuf; |
| 2 | use std::process::Command; |
| 3 | |
| 4 | fn main() { |
| 5 | let out = PathBuf::from(std::env::var("OUT_DIR").expect("OUT_DIR")); |
| 6 | println!("cargo:rerun-if-changed=shaders"); |
| 7 | for name in ["quad.vert", "solid.frag", "texture.frag"] { |
| 8 | let status = Command::new("glslangValidator") |
| 9 | .args(["-V", "--target-env", "vulkan1.3", "-o"]) |
| 10 | .arg(out.join(format!("{name}.spv"))) |
| 11 | .arg(format!("shaders/{name}")) |
| 12 | .status() |
| 13 | .expect("glslangValidator not found, build inside the nix devshell"); |
| 14 | assert!(status.success(), "failed to compile shaders/{name}"); |
| 15 | } |
| 16 | } |