mirror of
https://github.com/Neo-Desktop/WindowsXPKg
synced 2025-12-09 19:55:14 +02:00
Update windows-arm.yml
This commit is contained in:
59
.github/workflows/windows-arm.yml
vendored
59
.github/workflows/windows-arm.yml
vendored
@@ -53,44 +53,16 @@ jobs:
|
|||||||
- name: Checkout Source Tree
|
- name: Checkout Source Tree
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup vcpkg
|
|
||||||
if: matrix.arch == 'arm64'
|
|
||||||
shell: pwsh
|
|
||||||
run: |
|
|
||||||
git clone https://github.com/Microsoft/vcpkg.git
|
|
||||||
cd vcpkg
|
|
||||||
.\bootstrap-vcpkg.bat
|
|
||||||
echo "VCPKG_ROOT=$env:GITHUB_WORKSPACE/vcpkg" | Out-File -FilePath $env:GITHUB_ENV -Append
|
|
||||||
echo "VCPKG_DEFAULT_BINARY_CACHE=$env:GITHUB_WORKSPACE/vcpkg/bincache" | Out-File -FilePath $env:GITHUB_ENV -Append
|
|
||||||
echo "VCPKG_BINARY_SOURCES=clear;default,readwrite" | Out-File -FilePath $env:GITHUB_ENV -Append
|
|
||||||
|
|
||||||
- name: Cache vcpkg packages
|
|
||||||
if: matrix.arch == 'arm64'
|
|
||||||
uses: actions/cache@v4
|
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
${{ github.workspace }}/vcpkg/bincache
|
|
||||||
${{ github.workspace }}/vcpkg/installed
|
|
||||||
${{ github.workspace }}/vcpkg/packages
|
|
||||||
key: vcpkg-${{ matrix.arch }}-${{ hashFiles('**/CMakeLists.txt') }}-${{ hashFiles('**/*.cmake') }}
|
|
||||||
restore-keys: |
|
|
||||||
vcpkg-${{ matrix.arch }}-${{ hashFiles('**/CMakeLists.txt') }}-
|
|
||||||
vcpkg-${{ matrix.arch }}-
|
|
||||||
|
|
||||||
- name: Cache OpenSSL Binaries
|
- name: Cache OpenSSL Binaries
|
||||||
if: matrix.arch == 'arm32'
|
uses: actions/cache/restore@v4
|
||||||
uses: actions/cache@v4
|
|
||||||
with:
|
with:
|
||||||
path: |
|
path: |
|
||||||
${{ github.workspace }}/openssl-install
|
${{ github.workspace }}-OpenSSL-MSVC-${{ matrix.arch }}
|
||||||
key: openssl-${{ matrix.arch }}-${{ hashFiles('**/CMakeLists.txt') }}
|
key: openssl-1.1.1-${{ matrix.arch }}-${{ hashFiles('**/CMakeLists.txt') }}
|
||||||
restore-keys: |
|
|
||||||
|
|
||||||
- name: Install OpenSSL
|
- name: Checkout and Compile OpenSSL v1.1.1
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: |
|
run: |
|
||||||
if ("${{ matrix.arch }}" -eq "arm32") {
|
|
||||||
# For ARM32, build OpenSSL from source
|
|
||||||
$opensslVersion = "1.1.1w"
|
$opensslVersion = "1.1.1w"
|
||||||
$opensslDir = "openssl-src"
|
$opensslDir = "openssl-src"
|
||||||
|
|
||||||
@@ -109,30 +81,29 @@ jobs:
|
|||||||
# First set up Visual Studio environment
|
# First set up Visual Studio environment
|
||||||
$vsPath = & "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -latest -property installationPath
|
$vsPath = & "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -latest -property installationPath
|
||||||
$vcvarsall = Join-Path $vsPath "VC\Auxiliary\Build\vcvarsall.bat"
|
$vcvarsall = Join-Path $vsPath "VC\Auxiliary\Build\vcvarsall.bat"
|
||||||
|
|
||||||
|
$vcTarget = ""
|
||||||
|
if ("${{ matrix.arch}}" -eq "arm32") {
|
||||||
|
$vcTarget = "VC-WIN32-ARM"
|
||||||
|
} else {
|
||||||
|
$vcTarget = "VC-WIN64-ARM"
|
||||||
|
}
|
||||||
|
|
||||||
# Configure OpenSSL
|
# Configure OpenSSL
|
||||||
perl Configure VC-WIN32-ARM no-shared no-asm no-engine --prefix="$env:GITHUB_WORKSPACE/openssl-install"
|
perl Configure $vcTarget no-shared no-asm no-engine --prefix="$env:GITHUB_WORKSPACE/OpenSSL-MSVC-${{ matrix.arch }}"
|
||||||
|
|
||||||
# Build using MSVC ARM32 tools
|
# Build using MSVC ARM32 tools
|
||||||
cmd /c "call `"$vcvarsall`" amd64_arm && nmake && nmake install_sw"
|
cmd /c "call `"$vcvarsall`" amd64_arm && nmake && nmake install_sw"
|
||||||
cd ..
|
cd ..
|
||||||
} else {
|
|
||||||
# For ARM64, use vcpkg as before
|
|
||||||
New-Item -ItemType Directory -Force -Path $env:VCPKG_DEFAULT_BINARY_CACHE
|
|
||||||
& "$env:VCPKG_ROOT\vcpkg.exe" install openssl:${{ matrix.vcpkg_arch }} --clean-after-build
|
|
||||||
echo "OPENSSL_ROOT_DIR=$env:VCPKG_ROOT/installed/${{ matrix.vcpkg_arch }}" | Out-File -FilePath $env:GITHUB_ENV -Append
|
|
||||||
}
|
|
||||||
|
|
||||||
- name: Save OpenSSL Binaries
|
- name: Save OpenSSL Binaries
|
||||||
if: matrix.arch == 'arm32'
|
|
||||||
uses: actions/cache/save@v4
|
uses: actions/cache/save@v4
|
||||||
with:
|
with:
|
||||||
path: |
|
path: |
|
||||||
${{ github.workspace }}/openssl-install
|
${{ github.workspace }}/OpenSSL-MSVC-${{ matrix.arch }}
|
||||||
key: openssl-${{ matrix.arch }}-${{ hashFiles('**/CMakeLists.txt') }}
|
key: openssl-1.1.1-${{ matrix.arch }}-${{ hashFiles('**/CMakeLists.txt') }}
|
||||||
|
|
||||||
- name: Set OpenSSL Environment
|
- name: Set OpenSSL Environment
|
||||||
if: matrix.arch == 'arm32'
|
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: |
|
run: |
|
||||||
echo "OPENSSL_ROOT=$env:GITHUB_WORKSPACE/openssl-install" | Out-File -FilePath $env:GITHUB_ENV -Append
|
echo "OPENSSL_ROOT=$env:GITHUB_WORKSPACE/openssl-install" | Out-File -FilePath $env:GITHUB_ENV -Append
|
||||||
|
|||||||
Reference in New Issue
Block a user