diff --git a/.gitignore b/.gitignore index c03f402b..868a47a4 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ target *.out.png /.idea /node_modules +/generated diff --git a/Cargo.toml b/Cargo.toml index 8172c66c..8d9a825e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -104,7 +104,7 @@ panic = "abort" [package.metadata.deb] assets = [ ["target/release/oxipng", "usr/bin/", "755"], - ["target/assets/oxipng.1", "usr/share/man/man1/", "644"], + ["generated/assets/oxipng.1", "usr/share/man/man1/", "644"], ["README.md", "usr/share/doc/oxipng/", "644"], ["CHANGELOG.md", "usr/share/doc/oxipng/", "644"], ] diff --git a/build.rs b/build.rs index 4063d01d..91cd1b6d 100644 --- a/build.rs +++ b/build.rs @@ -1,5 +1,11 @@ +use std::{ + env, + fs::File, + io::{BufWriter, Error}, + path::Path, +}; + use clap_mangen::Man; -use std::{env, fs::File, io::Error, path::Path}; include!("src/cli.rs"); @@ -7,7 +13,7 @@ fn build_manpages(outdir: &Path) -> Result<(), Error> { let app = build_command(); let file = Path::new(&outdir).join("oxipng.1"); - let mut file = File::create(file)?; + let mut file = BufWriter::new(File::create(file)?); Man::new(app).render(&mut file)?; @@ -16,17 +22,10 @@ fn build_manpages(outdir: &Path) -> Result<(), Error> { fn main() -> Result<(), Error> { println!("cargo:rerun-if-changed=src/cli.rs"); - println!("cargo:rerun-if-changed=man"); + println!("cargo:rerun-if-changed=src/display_chunks.rs"); - let outdir = match env::var_os("OUT_DIR") { - None => return Ok(()), - Some(outdir) => outdir, - }; - - // Create `target/assets/` folder. - let out_path = PathBuf::from(outdir); - let mut path = out_path.ancestors().nth(4).unwrap().to_owned(); - path.push("assets"); + // Create `generated/assets/` folder. + let path = env::current_dir()?.join("generated").join("assets"); std::fs::create_dir_all(&path).unwrap(); build_manpages(&path)?;