use std::env;
use std::fs;
use std::path::PathBuf;
fn main() {
let out_dir = PathBuf::from(env::var("OUT_DIR").unwrap());
let src_dir = PathBuf::from(env::var("CARGO_MANIFEST_DIR").unwrap());
copy_dir_recursively(&src_dir.join("src/res"), &out_dir.join("src/res")).unwrap();
}
fn copy_dir_recursively(src: &PathBuf, dst: &PathBuf) -> std::io::Result<()> {
if !dst.exists() {
fs::create_dir_all(&dst)?;
}
for entry in fs::read_dir(src)? {
let entry = entry?;
let path = entry.path();
let dest_path = dst.join(entry.file_name());
if path.is_dir() {
copy_dir_recursively(&path, &dest_path)?;
} else {
fs::copy(&path, &dest_path)?;
println!("cargo:rerun-if-changed={}", path.display());
}
}
Ok(())
}