Skip to content

add: more try catch to debug the error #39

add: more try catch to debug the error

add: more try catch to debug the error #39

Workflow file for this run

name: Windows ARM
on: [push, pull_request]
jobs:
build:
strategy:
fail-fast: false
matrix:
arch: [arm]
config:
- name: "default"
dependencies: |
boost:arm64-windows
gtest:arm64-windows
tbb:arm64-windows
fmt:arm64-windows
cmake_opts: ""
- name: "no_fmt"
dependencies: |
boost:arm64-windows
gtest:arm64-windows
tbb:arm64-windows
cmake_opts: "-DWITH_FMT=OFF"
- name: "no_tbb"
dependencies: |
boost:arm64-windows
gtest:arm64-windows
fmt:arm64-windows
cmake_opts: "-DWITH_TBB=OFF"
- name: "no_boost"
dependencies: |
gtest:arm64-windows
tbb:arm64-windows
fmt:arm64-windows
cmake_opts: "-DWITH_BOOST=OFF"
- name: "no_fmt_no_boost"
dependencies: |
gtest:arm64-windows
tbb:arm64-windows
cmake_opts: "-DWITH_FMT=OFF -DWITH_BOOST=OFF"
- name: "no_fmt_no_tbb"
dependencies: |
boost:arm64-windows
gtest:arm64-windows
cmake_opts: "-DWITH_FMT=OFF -DWITH_TBB=OFF"
- name: "no_boost_no_tbb"
dependencies: |
gtest:arm64-windows
fmt:arm64-windows
cmake_opts: "-DWITH_BOOST=OFF -DWITH_TBB=OFF"
runs-on: windows-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
submodules: true
- name: Initialize submodules
run: git submodule update --init --recursive
- name: Install vcpkg
run: |
git clone https://github.com/microsoft/vcpkg.git
.\vcpkg\bootstrap-vcpkg.bat
echo "VCPKG_ROOT=$(pwd)\vcpkg" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
echo "CMAKE_TOOLCHAIN_FILE=$(pwd)\vcpkg\scripts\buildsystems\vcpkg.cmake" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
- name: Install Dependencies
run: |
$dependencies = @(${matrix.config.dependencies})
foreach ($dep in $dependencies) {
.\vcpkg\vcpkg.exe install $dep
}
.\vcpkg\vcpkg.exe integrate install
- name: Update vcpkg
run: |
.\vcpkg\vcpkg.exe update
.\vcpkg\vcpkg.exe 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 ${{ matrix.config.cmake_opts }}
- name: List build directory contents
run: Get-ChildItem -Recurse build/
- name: Build
run: cmake --build build --config Release --verbose