Add Windows ARM 64 package (#624)

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
Michael Telatynski 2025-02-19 10:35:53 +00:00 committed by GitHub
parent 00f08cb443
commit b8bb4d3316
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 29 additions and 8 deletions

View File

@ -62,7 +62,7 @@ jobs:
name: Windows ${{ matrix.arch }} name: Windows ${{ matrix.arch }}
strategy: strategy:
matrix: matrix:
arch: [ia32, x64] arch: [ia32, x64, arm64]
uses: ./.github/workflows/build_windows.yaml uses: ./.github/workflows/build_windows.yaml
secrets: inherit secrets: inherit
with: with:

View File

@ -22,7 +22,7 @@ jobs:
uses: ./.github/workflows/build_windows.yaml uses: ./.github/workflows/build_windows.yaml
strategy: strategy:
matrix: matrix:
arch: [x64, ia32] arch: [x64, ia32, arm64]
with: with:
arch: ${{ matrix.arch }} arch: ${{ matrix.arch }}

View File

@ -74,11 +74,6 @@ jobs:
path: | path: |
./.hak ./.hak
- name: Set up build tools
uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
with:
arch: ${{ steps.config.outputs.arch || inputs.arch }}
# ActiveTCL package on choco is from 2015, # ActiveTCL package on choco is from 2015,
# this one is newer but includes more than we need # this one is newer but includes more than we need
- name: Choco install tclsh - name: Choco install tclsh
@ -110,6 +105,18 @@ jobs:
- name: Install Deps - name: Install Deps
run: "yarn install --frozen-lockfile" run: "yarn install --frozen-lockfile"
- name: Set up sqlcipher macros
if: steps.cache.outputs.cache-hit != 'true' && contains(inputs.arch, 'arm')
shell: pwsh
run: |
echo "NCC=${{ github.workspace }}\scripts\cl.bat" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: Set up build tools
if: steps.cache.outputs.cache-hit != 'true'
uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
with:
arch: ${{ steps.config.outputs.arch || inputs.arch }}
- name: Build Natives - name: Build Natives
if: steps.cache.outputs.cache-hit != 'true' if: steps.cache.outputs.cache-hit != 'true'
run: | run: |

View File

@ -12,6 +12,13 @@ If you want to build native modules, make sure that the following tools are inst
- [Strawberry Perl](https://strawberryperl.com/) - [Strawberry Perl](https://strawberryperl.com/)
- [Rustup](https://rustup.rs/) - [Rustup](https://rustup.rs/)
- [NASM](https://www.nasm.us/) - [NASM](https://www.nasm.us/)
You can install the above tools using [Chocolatey](https://chocolatey.org/install):
```cmd
choco install --no-progress -y git nodejs-lts yarn python StrawberryPerl rustup.install nasm magicsplat-tcl-tk
```
- [Build Tools for Visual Studio 2019](https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2019) with the following configuration: - [Build Tools for Visual Studio 2019](https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2019) with the following configuration:
- On the Workloads tab: - On the Workloads tab:
- Desktop & Mobile -> C++ build tools - Desktop & Mobile -> C++ build tools

View File

@ -111,7 +111,7 @@
"typescript": "5.7.3" "typescript": "5.7.3"
}, },
"hakDependencies": { "hakDependencies": {
"matrix-seshat": "^4.0.0", "matrix-seshat": "^4.0.1",
"keytar": "^7.9.0" "keytar": "^7.9.0"
}, },
"resolutions": { "resolutions": {

7
scripts/cl.bat Normal file
View File

@ -0,0 +1,7 @@
REM Batch file to aid in cross-compiling sqlcipher for Windows ARM64
REM Full path should be passed to Makefile.msc as NCC env var
setlocal
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" %VSCMD_ARG_HOST_ARCH%
cl.exe %*
endlocal