fn main() { println!("cargo:rerun-if-changed=src/main.rs"); println!("cargo:rerun-if-changed=tauri.conf.json"); println!("cargo:rerun-if-changed=capabilities"); if std::env::var("CARGO_CFG_TARGET_OS").unwrap_or_default() == "windows" { if let (Ok(manifest_dir), Ok(out_dir)) = (std::env::var("CARGO_MANIFEST_DIR"), std::env::var("OUT_DIR")) { let mut target_dir = std::path::PathBuf::from(out_dir); target_dir.pop(); target_dir.pop(); target_dir.pop(); let dll_src = std::path::Path::new(&manifest_dir).join("WebView2Loader.dll"); let dll_dest = target_dir.join("WebView2Loader.dll"); if dll_src.exists() { let _ = std::fs::copy(dll_src, dll_dest); } } } #[cfg(unix)] { use std::os::unix::fs::PermissionsExt; let node_path = std::path::Path::new("../bin/node"); if node_path.exists() { let _ = std::fs::set_permissions( node_path, std::fs::Permissions::from_mode(0o755), ); } } tauri_build::try_build( tauri_build::Attributes::new().app_manifest( tauri_build::AppManifest::new().commands(&[ "win_minimize", "win_maximize", "win_close", "win_drag", "open_new_window", ]), ), ) .expect("failed to run tauri-build"); }