fn main() { println!("cargo:rerun-if-changed=src/main.rs"); println!("cargo:rerun-if-changed=tauri.conf.json"); println!("cargo:rerun-if-changed=capabilities"); for f in [ "main.js", "service-manager.js", "file-updater.js", "patcher.js", "crypto-utils.js", "credential-manager.js", "update-client.js", "discord-rpc.js", ] { println!("cargo:rerun-if-changed=../{}", f); } println!("cargo:rerun-if-changed=../config"); 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", "report_location", ]), ), ) .expect("failed to run tauri-build"); }