diff --git a/build.rs b/build.rs index 650e3d0..f0eae84 100644 --- a/build.rs +++ b/build.rs @@ -1,17 +1,31 @@ use std::process::Command; fn main() { - Command::new("esbuild") - .args([ - "--outdir=dist", - "--format=esm", - "--bundle", - "tauri/tooling/api/src/app.ts", - "tauri/tooling/api/src/clipboard.ts", - "tauri/tooling/api/src/tauri.ts", - "tauri/tooling/api/src/event.ts", - "tauri/tooling/api/src/mocks.ts", - ]) - .output() - .unwrap(); + /* Shared arguments */ + let sargs: [&str; 8] = [ + "--outdir=dist", + "--format=esm", + "--bundle", + "tauri/tooling/api/src/app.ts", + "tauri/tooling/api/src/clipboard.ts", + "tauri/tooling/api/src/tauri.ts", + "tauri/tooling/api/src/event.ts", + "tauri/tooling/api/src/mocks.ts", + ]; + + if cfg!(windows) { + /* Use cmd if the target is windows */ + Command::new("cmd") + .args(&["/C", "esbuild"]) + .args(&sargs) + .output() + .unwrap(); + } else if cfg!(unix) { + Command::new("esbuild") + .args(&sargs) + .output() + .unwrap(); + } else { + panic!("Unsupported build target"); + } }