mirror of
https://github.com/Neo-Desktop/WindowsXPKg
synced 2025-07-15 16:50:21 +03:00
Compare commits
5 Commits
06cd4f6f51
...
06d657d014
Author | SHA1 | Date | |
---|---|---|---|
06d657d014 | |||
35cc767803 | |||
beb4a25ce2 | |||
c7a9681530 | |||
49d5de68f6 |
77
.github/workflows/windows-arm.yml
vendored
77
.github/workflows/windows-arm.yml
vendored
@ -39,7 +39,7 @@ jobs:
|
|||||||
cmake_arch: ARM
|
cmake_arch: ARM
|
||||||
sdk_version: '10.0.17763.0'
|
sdk_version: '10.0.17763.0'
|
||||||
- arch: arm64
|
- arch: arm64
|
||||||
arch_compilename: arm64
|
arch_compilename: amd64_arm64
|
||||||
vcpkg_arch: arm64-windows-static
|
vcpkg_arch: arm64-windows-static
|
||||||
cmake_arch: ARM64
|
cmake_arch: ARM64
|
||||||
sdk_version: '10.0.17763.0'
|
sdk_version: '10.0.17763.0'
|
||||||
@ -53,52 +53,18 @@ 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") {
|
git clone https://github.com/UMSKT/openssl --branch OpenSSL_1_1_1-stable --depth 1 openssl-src
|
||||||
# For ARM32, build OpenSSL from source
|
cd openssl-src
|
||||||
$opensslVersion = "1.1.1w"
|
|
||||||
$opensslDir = "openssl-src"
|
|
||||||
|
|
||||||
# Download OpenSSL source
|
|
||||||
Invoke-WebRequest -Uri "https://www.openssl.org/source/openssl-$opensslVersion.tar.gz" -OutFile "openssl.tar.gz"
|
|
||||||
tar -xf openssl.tar.gz
|
|
||||||
Rename-Item -Path "openssl-$opensslVersion" -NewName $opensslDir
|
|
||||||
cd $opensslDir
|
|
||||||
|
|
||||||
# Install Perl if needed
|
# Install Perl if needed
|
||||||
choco install strawberryperl -y
|
choco install strawberryperl -y
|
||||||
@ -110,32 +76,31 @@ jobs:
|
|||||||
$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"
|
||||||
|
|
||||||
# Configure OpenSSL
|
$vcTarget = ""
|
||||||
perl Configure VC-WIN32-ARM no-shared no-asm no-engine --prefix="$env:GITHUB_WORKSPACE/openssl-install"
|
if ("${{ matrix.arch}}" -eq "arm32") {
|
||||||
|
$vcTarget = "VC-WIN32-ARM"
|
||||||
# Build using MSVC ARM32 tools
|
|
||||||
cmd /c "call `"$vcvarsall`" amd64_arm && nmake && nmake install_sw"
|
|
||||||
cd ..
|
|
||||||
} else {
|
} else {
|
||||||
# For ARM64, use vcpkg as before
|
$vcTarget = "VC-WIN64-ARM"
|
||||||
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
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Configure OpenSSL
|
||||||
|
perl Configure $vcTarget no-shared no-asm no-engine --prefix="$env:GITHUB_WORKSPACE/OpenSSL-MSVC-${{ matrix.arch }}"
|
||||||
|
|
||||||
|
# Build using MSVC ARM32 tools
|
||||||
|
cmd /c "call `"$vcvarsall`" ${{matrix.arch_compilename}} && nmake && nmake install_sw"
|
||||||
|
cd ..
|
||||||
|
|
||||||
- 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-MSVC-${{ matrix.arch }}" | Out-File -FilePath $env:GITHUB_ENV -Append
|
||||||
echo "OPENSSL_LIBDIR=lib" | Out-File -FilePath $env:GITHUB_ENV -Append
|
echo "OPENSSL_LIBDIR=lib" | Out-File -FilePath $env:GITHUB_ENV -Append
|
||||||
|
|
||||||
- name: Configure UMSKT
|
- name: Configure UMSKT
|
||||||
|
Reference in New Issue
Block a user