diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 15b1b7a0..375b6f75 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -376,9 +376,9 @@ jobs: fail-fast: false # 'false' means Don't stop matrix workflows even if some matrix failed. matrix: system: [ - { os: windows-2022, vc: "VC++ 2022" }, - { os: windows-2019, vc: "VC++ 2019" }, - { os: windows-2016, vc: "VC++ 2017" }, # windows-2016 will be removed on March 15, 2022. + { os: windows-2022, vc: "VC++ 2022", clangcl: 'false', }, # CMake failed to configure clang-cl with VC++2022. + { os: windows-2019, vc: "VC++ 2019", clangcl: 'true', }, + { os: windows-2016, vc: "VC++ 2017", clangcl: 'false', }, # windows-2016 will be removed on March 15, 2022. ] arch: [ x64, Win32, ARM, ARM64 ] steps: @@ -398,6 +398,21 @@ jobs: run: | .\cmake_unofficial\build\Release\xxhsum.exe -bi1 + - name: Build ${{ matrix.system.os }}, clang-cl, ${{ matrix.arch }} + if: ${{ matrix.system.clangcl == 'true' }} + run: | + cd cmake_unofficial + mkdir build-clang-cl + cd build-clang-cl + cmake .. -DCMAKE_BUILD_TYPE=Release -A x64 -DCMAKE_GENERATOR_TOOLSET=ClangCL + cmake --build . --config Release + + - name: Test (clang-cl) + # Run benchmark for testing only if target arch is x64 or Win32. + if: ${{ matrix.system.clangcl == 'true' && ( matrix.arch == 'x64' || matrix.arch == 'Win32' ) }} + run: | + .\cmake_unofficial\build-clang-cl\Release\xxhsum.exe -bi1 + # Windows, { mingw64, mingw32 } #