diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-05-23 17:34:01 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-05-23 17:42:49 +0300 |
| commit | ec2924d0d1f21417802c3efd0ed46b9db2c00582 (patch) | |
| tree | 00432d4dbb46bb82328dfb583e36293c1603bc81 /build.rs | |
| parent | 0d2c20a46235ae2535d4fdef59b9529e44faa98f (diff) | |
feat: add optional nix flake support
refs #208
refs #221
refs #264
Diffstat (limited to 'build.rs')
| -rw-r--r-- | build.rs | 16 |
1 files changed, 14 insertions, 2 deletions
@@ -32,9 +32,14 @@ fn main() { println!("cargo:rerun-if-changed=vendor/libghostty-vt.vendor.json"); println!("cargo:rerun-if-changed=vendor/libghostty-vt/build.zig"); println!("cargo:rerun-if-changed=vendor/libghostty-vt/build.zig.zon"); + println!("cargo:rerun-if-changed=vendor/libghostty-vt/include"); + println!("cargo:rerun-if-changed=vendor/libghostty-vt/pkg"); + println!("cargo:rerun-if-changed=vendor/libghostty-vt/src"); println!("cargo:rerun-if-changed=vendor/libghostty-vt/VERSION"); println!("cargo:rerun-if-env-changed=LIBGHOSTTY_VT_OPTIMIZE"); println!("cargo:rerun-if-env-changed=LIBGHOSTTY_VT_SIMD"); + println!("cargo:rerun-if-env-changed=LIBGHOSTTY_VT_ZIG_SYSTEM_DIR"); + println!("cargo:rerun-if-env-changed=ZIG"); let manifest_dir = PathBuf::from(env::var("CARGO_MANIFEST_DIR").expect("CARGO_MANIFEST_DIR")); let vendored_dir = manifest_dir.join("vendor/libghostty-vt"); @@ -47,13 +52,20 @@ fn main() { .trim() .to_string(); - let status = Command::new("zig") + let zig = env::var("ZIG").unwrap_or_else(|_| "zig".into()); + let mut command = Command::new(zig); + command .arg("build") .arg("-Demit-lib-vt") .arg(format!("-Doptimize={optimize}")) .arg(format!("-Dsimd={simd}")) .arg(format!("-Dtarget={zig_target}")) - .arg(format!("-Dversion-string={version_string}")) + .arg(format!("-Dversion-string={version_string}")); + if let Ok(system_dir) = env::var("LIBGHOSTTY_VT_ZIG_SYSTEM_DIR") { + command.arg("--system").arg(system_dir); + } + + let status = command .current_dir(&vendored_dir) .status() .expect("failed to execute zig build for vendored libghostty-vt"); |
