🎨 Support Windows arm64 https://github.com/siyuan-note/siyuan/issues/11565
This commit is contained in:
parent
a48854a166
commit
6aa9640c2b
3 changed files with 91 additions and 2 deletions
75
app/electron-builder-arm64.yml
Normal file
75
app/electron-builder-arm64.yml
Normal file
|
@ -0,0 +1,75 @@
|
|||
productName: "SiYuan"
|
||||
appId: "org.b3log.siyuan"
|
||||
asar: false
|
||||
compression: "normal"
|
||||
copyright: "© 2024 Yunnan Liandi Technology Co., Ltd."
|
||||
artifactName: "siyuan-${version}-${os}-arm64.${ext}"
|
||||
extraMetadata:
|
||||
main: "electron/main.js"
|
||||
directories:
|
||||
output: "build"
|
||||
files:
|
||||
- "electron"
|
||||
extraFiles:
|
||||
- from: "../LICENSE"
|
||||
to: "LICENSE"
|
||||
win:
|
||||
icon: "src/assets/icon.ico"
|
||||
extraResources:
|
||||
- from: "kernel-arm64"
|
||||
to: "kernel"
|
||||
requestedExecutionLevel: "asInvoker"
|
||||
# certificateSubjectName: "Yunnan Liandi Technology Co., Ltd."
|
||||
signingHashAlgorithms: [ 'sha256' ]
|
||||
#rfc3161TimeStampServer: "http://sha256timestamp.ws.symantec.com/sha256/timestamp"
|
||||
#rfc3161TimeStampServer: "http://time.certum.pl"
|
||||
rfc3161TimeStampServer: "http://timestamp.entrust.net/TSS/RFC3161sha2TS"
|
||||
target:
|
||||
- target: "nsis"
|
||||
arch: "arm64"
|
||||
nsis:
|
||||
oneClick: false
|
||||
perMachine: false
|
||||
allowToChangeInstallationDirectory: true
|
||||
allowElevation: true
|
||||
deleteAppDataOnUninstall: true
|
||||
createDesktopShortcut: true
|
||||
createStartMenuShortcut: true
|
||||
shortcutName: "SiYuan"
|
||||
license: "../LICENSE"
|
||||
include: "nsis/installer.nsh"
|
||||
warningsAsErrors: false
|
||||
installerSidebar: "nsis/installerSidebar.bmp"
|
||||
uninstallerSidebar: "nsis/uninstallerSidebar.bmp"
|
||||
|
||||
extraResources:
|
||||
- from: "changelogs"
|
||||
to: "changelogs"
|
||||
- from: "stage"
|
||||
to: "stage"
|
||||
- from: "guide"
|
||||
to: "guide"
|
||||
filter: "!**/{.DS_Store,.git,.gitignore,.idea}"
|
||||
- from: "appearance/boot"
|
||||
to: "appearance/boot"
|
||||
filter: "!**/{.DS_Store}"
|
||||
- from: "appearance/icons"
|
||||
to: "appearance/icons"
|
||||
filter: "!**/{.DS_Store}"
|
||||
- from: "appearance/langs"
|
||||
to: "appearance/langs"
|
||||
filter: "!**/{.DS_Store}"
|
||||
- from: "appearance/emojis"
|
||||
to: "appearance/emojis"
|
||||
filter: "!**/{.DS_Store}"
|
||||
- from: "appearance/themes/midnight"
|
||||
to: "appearance/themes/midnight"
|
||||
filter: "!**/{.DS_Store,custom.css}"
|
||||
- from: "appearance/themes/daylight"
|
||||
to: "appearance/themes/daylight"
|
||||
filter: "!**/{.DS_Store,custom.css}"
|
||||
- from: "src/assets/fonts"
|
||||
to: "appearance/fonts"
|
||||
filter: "!**/{.DS_Store}"
|
||||
- from: "pandoc/pandoc-windows-amd64.zip"
|
||||
to: "pandoc.zip"
|
|
@ -19,6 +19,7 @@
|
|||
"start": "NODE_ENV=development electron ./electron/main.js",
|
||||
"dist-appx": "ELECTRON_MIRROR=https://cnpmjs.org/mirrors/electron/ electron-builder --config electron-appx-builder.yml",
|
||||
"dist": "ELECTRON_MIRROR=https://cnpmjs.org/mirrors/electron/ electron-builder --config electron-builder.yml --publish=never",
|
||||
"dist-arm64": "ELECTRON_MIRROR=https://cnpmjs.org/mirrors/electron/ electron-builder --arm64 --config electron-builder-arm64.yml --publish=never",
|
||||
"dist-darwin": "ELECTRON_MIRROR=https://cnpmjs.org/mirrors/electron/ electron-builder --mac --config electron-builder-darwin.yml --publish=never",
|
||||
"dist-darwin-arm64": "ELECTRON_MIRROR=https://cnpmjs.org/mirrors/electron/ electron-builder --arm64 --mac --config electron-builder-darwin-arm64.yml --publish=never",
|
||||
"dist-linux": "ELECTRON_MIRROR=https://cnpmjs.org/mirrors/electron/ electron-builder --linux --config electron-builder-linux.yml --publish=never"
|
||||
|
|
|
@ -13,6 +13,7 @@ cd ..
|
|||
echo 'Cleaning Builds'
|
||||
del /S /Q /F app\build 1>nul
|
||||
del /S /Q /F app\kernel 1>nul
|
||||
del /S /Q /F app\kernel-arm64 1>nul
|
||||
|
||||
echo 'Building Kernel'
|
||||
@REM the C compiler "gcc" is necessary https://sourceforge.net/projects/mingw-w64/files/mingw-w64/
|
||||
|
@ -22,17 +23,24 @@ set GOPROXY=https://goproxy.io
|
|||
set CGO_ENABLED=1
|
||||
|
||||
cd kernel
|
||||
@REM you can use `go generate` instead (nead add something in main.go)
|
||||
@REM you can use `go mod tidy` to update kernel dependency before build
|
||||
@REM you can use `go generate` instead (need add something in main.go)
|
||||
goversioninfo -platform-specific=true -icon=resource/icon.ico -manifest=resource/goversioninfo.exe.manifest
|
||||
|
||||
set GOOS=windows
|
||||
set GOARCH=amd64
|
||||
@REM you can use `go mod tidy` to update kernel dependency before build
|
||||
go build --tags fts5 -v -o "../app/kernel/SiYuan-Kernel.exe" -ldflags "-s -w -H=windowsgui" .
|
||||
if errorlevel 1 (
|
||||
exit /b %errorlevel%
|
||||
)
|
||||
|
||||
set GOARCH=arm64
|
||||
@REM if you want to build arm64, you need to install aarch64-w64-mingw32-gcc
|
||||
set CC="D:/Program Files/llvm-mingw-20240518-ucrt-x86_64/bin/aarch64-w64-mingw32-gcc.exe"
|
||||
go build --tags fts5 -v -o "../app/kernel-arm64/SiYuan-Kernel-arm64.exe" -ldflags "-s -w -H=windowsgui" .
|
||||
if errorlevel 1 (
|
||||
exit /b %errorlevel%
|
||||
)
|
||||
cd ..
|
||||
|
||||
echo 'Building Electron App'
|
||||
|
@ -41,6 +49,11 @@ call pnpm run dist
|
|||
if errorlevel 1 (
|
||||
exit /b %errorlevel%
|
||||
)
|
||||
echo 'Building Electron App arm64'
|
||||
call pnpm run dist-arm64
|
||||
if errorlevel 1 (
|
||||
exit /b %errorlevel%
|
||||
)
|
||||
cd ..
|
||||
|
||||
echo 'Building Appx'
|
||||
|
|
Loading…
Add table
Reference in a new issue