Update: for the new changes #1
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Windows ARM | |
on: [push, pull_request] | |
jobs: | |
build: | |
strategy: | |
fail-fast: false | |
matrix: | |
arch: [arm] | |
runs-on: windows-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Install vcpkg | |
run: | | |
git clone https://github.com/microsoft/vcpkg.git | |
.\vcpkg\bootstrap-vcpkg.bat | |
echo "VCPKG_ROOT=$(pwd)/vcpkg" >> $GITHUB_ENV | |
echo "CMAKE_TOOLCHAIN_FILE=$(pwd)/vcpkg/scripts/buildsystems/vcpkg.cmake" >> $GITHUB_ENV | |
- name: Install CMake | |
run: | | |
vcpkg search cmake | |
vcpkg install cmake:arm64-windows | |
vcpkg integrate install | |
- name: Install GTest | |
run: | | |
vcpkg search gtest | |
vcpkg install gtest:arm64-windows | |
vcpkg integrate install | |
- name: Install TBB | |
run: | | |
vcpkg search tbb | |
vcpkg install tbb:arm64-windows | |
vcpkg integrate install | |
- name: Update vcpkg | |
run: | | |
vcpkg update | |
vcpkg upgrade --no-dry-run | |
- name: Setup CMake and Ninja | |
uses: lukka/[email protected] | |
- name: Setup MSVC | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: Check MSVC Version | |
run: | | |
try { | |
$versionOutput = cl 2>&1 | |
$match = $versionOutput | Select-String -Pattern "Version (\d+\.\d+)" | |
if ($match) { | |
$version = [Version]$match.Matches.Groups[1].Value | |
Write-Output "MSVC version found: $version" | |
# Check if version is less than 19.28 | |
if ($version -lt [Version]"19.28") { | |
throw "MSVC version is less than 19.28" | |
} | |
} else { | |
Write-Output "MSVC version could not be determined. Skipping version check." | |
echo "::set-output name=skip_step::true" | |
} | |
} catch { | |
throw $_ | |
} | |
shell: pwsh | |
id: check_msvc | |
- name: Create build directory | |
if: steps.check_msvc.outputs.skip_step != 'true' | |
run: mkdir build | |
- name: Verify vcpkg Installation | |
run: .\vcpkg\vcpkg.exe list | |
- name: Configure CMake | |
if: steps.check_msvc.outputs.skip_step != 'true' | |
run: | | |
echo "CMAKE_TOOLCHAIN_FILE is: $env:CMAKE_TOOLCHAIN_FILE" | |
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake | |
- name: List build directory contents | |
run: ls -R build/ | |
- name: Build | |
run: cmake --build build --config Release --verbose |