name: Windows on: [push, pull_request] jobs: mingw: runs-on: windows-latest steps: - uses: actions/checkout@v2 - name: Set up MinGW uses: egor-tensin/setup-mingw@v2 with: platform: x64 - name: cmake run: cmake -S . -B build -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Debug -DJSON_BuildTests=On - name: build run: cmake --build build --parallel 10 - name: test run: cd build ; ctest -j 10 -C Debug --output-on-failure mingw_win32: runs-on: windows-latest steps: - uses: actions/checkout@v2 - name: Set up MinGW uses: egor-tensin/setup-mingw@v2 with: platform: x86 - name: cmake run: cmake -S . -B build -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Debug -DJSON_BuildTests=On - name: build run: cmake --build build --parallel 10 - name: test run: cd build ; ctest -j 10 -C Debug --output-on-failure msvc2017: runs-on: windows-2016 steps: - uses: actions/checkout@v2 - name: cmake run: cmake -S . -B build -G "Visual Studio 15 2017" -DJSON_BuildTests=On - name: build run: cmake --build build --config Release --parallel 10 - name: test run: cd build ; ctest -j 10 -C Release --output-on-failure msvc2017_latest: runs-on: windows-2016 steps: - uses: actions/checkout@v2 - name: cmake run: cmake -S . -B build -G "Visual Studio 15 2017" -DJSON_BuildTests=On -DCMAKE_CXX_FLAGS="/permissive- /std:c++latest /utf-8" - name: build run: cmake --build build --config Release --parallel 10 - name: test run: cd build ; ctest -j 10 -C Release --output-on-failure msvc2017_win32: runs-on: windows-2016 steps: - uses: actions/checkout@v2 - name: cmake run: cmake -S . -B build -G "Visual Studio 15 2017" -A "Win32" -DJSON_BuildTests=On - name: build run: cmake --build build --config Release --parallel 10 - name: test run: cd build ; ctest -j 10 -C Release --output-on-failure msvc2019: runs-on: windows-latest steps: - uses: actions/checkout@v2 - name: cmake run: cmake -S . -B build -G "Visual Studio 16 2019" -DJSON_BuildTests=On - name: build run: cmake --build build --config Release --parallel 10 - name: test run: cd build ; ctest -j 10 -C Release --output-on-failure msvc2019_latest: runs-on: windows-latest steps: - uses: actions/checkout@v2 - name: cmake run: cmake -S . -B build -G "Visual Studio 16 2019" -DJSON_BuildTests=On -DCMAKE_CXX_FLAGS="/permissive- /std:c++latest /utf-8" - name: build run: cmake --build build --config Release --parallel 10 - name: test run: cd build ; ctest -j 10 -C Release --output-on-failure msvc2019_win32: runs-on: windows-latest steps: - uses: actions/checkout@v2 - name: cmake run: cmake -S . -B build -G "Visual Studio 16 2019" -A "Win32" -DJSON_BuildTests=On - name: build run: cmake --build build --config Release --parallel 10 - name: test run: cd build ; ctest -j 10 -C Release --output-on-failure clang10: runs-on: windows-latest steps: - uses: actions/checkout@v2 - name: install Clang run: curl -fsSL -o LLVM10.exe https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.0/LLVM-10.0.0-win64.exe ; 7z x LLVM10.exe -y -o"C:/Program Files/LLVM" - name: cmake run: cmake -S . -B build -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang++.exe" -G"MinGW Makefiles" -DCMAKE_BUILD_TYPE=Debug -DJSON_BuildTests=On - name: build run: cmake --build build --parallel 10 - name: test run: cd build ; ctest -j 10 -C Debug --exclude-regex "test-unicode" --output-on-failure clang11: runs-on: windows-latest steps: - uses: actions/checkout@v2 - name: install Clang run: curl -fsSL -o LLVM11.exe https://github.com/llvm/llvm-project/releases/download/llvmorg-11.0.0/LLVM-11.0.0-win64.exe ; 7z x LLVM11.exe -y -o"C:/Program Files/LLVM" - name: cmake run: cmake -S . -B build -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang++.exe" -G"MinGW Makefiles" -DCMAKE_BUILD_TYPE=Debug -DJSON_BuildTests=On - name: build run: cmake --build build --parallel 10 - name: test run: cd build ; ctest -j 10 -C Debug --exclude-regex "test-unicode" --output-on-failure clang-cl-10-x64: runs-on: windows-latest steps: - uses: actions/checkout@v2 - name: cmake run: cmake -S . -B build -G "Visual Studio 16 2019" -A x64 -T ClangCL -DJSON_BuildTests=On - name: build run: cmake --build build --config Debug --parallel 10 - name: test run: cd build ; ctest -j 10 -C Debug --exclude-regex "test-unicode" --output-on-failure clang-cl-10-x86: runs-on: windows-latest steps: - uses: actions/checkout@v2 - name: cmake run: cmake -S . -B build -G "Visual Studio 16 2019" -A Win32 -T ClangCL -DJSON_BuildTests=On - name: build run: cmake --build build --config Debug --parallel 10 - name: test run: cd build ; ctest -j 10 -C Debug --exclude-regex "test-unicode" --output-on-failure