From c6555370dcfbe56e0ead7b81f5e3d202a00f61c4 Mon Sep 17 00:00:00 2001 From: Tlntin Date: Thu, 26 Jan 2023 11:59:34 +0800 Subject: [PATCH] add multi-architecture support for MacOS --- bin/builders/MacBuilder.ts | 16 +++++++++------- dist/cli.js | 13 ++++++++++--- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/bin/builders/MacBuilder.ts b/bin/builders/MacBuilder.ts index 48cc047..e1e123e 100644 --- a/bin/builders/MacBuilder.ts +++ b/bin/builders/MacBuilder.ts @@ -53,7 +53,7 @@ export default class MacBuilder implements IBuilder { } dmgName = `${name}_${tauriConf.package.version}_${arch}.dmg`; } - const appPath = this.getBuildAppPath(npmDirectory, dmgName); + const appPath = this.getBuildAppPath(npmDirectory, dmgName, options.multi_arch); const distPath = path.resolve(`${name}.dmg`); await fs.copyFile(appPath, distPath); await fs.unlink(appPath); @@ -62,11 +62,13 @@ export default class MacBuilder implements IBuilder { logger.success('You can find the app installer in', distPath); } - getBuildAppPath(npmDirectory: string, dmgName: string) { - return path.join( - npmDirectory, - 'src-tauri/target/universal-apple-darwin/release/bundle/dmg', - dmgName - ); + getBuildAppPath(npmDirectory: string, dmgName: string, multiArch: boolean) { + let dmgPath: string; + if (multiArch) { + dmgPath = 'src-tauri/target/universal-apple-darwin/release/bundle/dmg'; + } else { + dmgPath = 'src-tauri/target/release/bundle/dmg'; + } + return path.join(npmDirectory, dmgPath, dmgName); } } diff --git a/dist/cli.js b/dist/cli.js index f08943f..e69f157 100644 --- a/dist/cli.js +++ b/dist/cli.js @@ -2033,7 +2033,7 @@ class MacBuilder { } dmgName = `${name}_${tauriConf.package.version}_${arch}.dmg`; } - const appPath = this.getBuildAppPath(npmDirectory, dmgName); + const appPath = this.getBuildAppPath(npmDirectory, dmgName, options.multi_arch); const distPath = path.resolve(`${name}.dmg`); yield fs.copyFile(appPath, distPath); yield fs.unlink(appPath); @@ -2041,8 +2041,15 @@ class MacBuilder { logger.success('You can find the app installer in', distPath); }); } - getBuildAppPath(npmDirectory, dmgName) { - return path.join(npmDirectory, 'src-tauri/target/universal-apple-darwin/release/bundle/dmg', dmgName); + getBuildAppPath(npmDirectory, dmgName, multiArch) { + let dmgPath; + if (multiArch) { + dmgPath = 'src-tauri/target/universal-apple-darwin/release/bundle/dmg'; + } + else { + dmgPath = 'src-tauri/target/release/bundle/dmg'; + } + return path.join(npmDirectory, dmgPath, dmgName); } }