Fix: static analysis errors and Change: optimize adding a thread to t… #115
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 GTest | |
run: | | |
vcpkg search gtest | |
vcpkg install gtest:arm64-windows | |
vcpkg integrate install | |
- 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: Configure CMake | |
if: steps.check_msvc.outputs.skip_step != 'true' | |
run: cmake -S . -B build -DBUILD_THREADPOOL_SHARED_LIBS=OFF -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 | |
- name: Test | |
working-directory: build | |
run: ctest --output-on-failure -C Release |