| name: Windows |
| |
| on: |
| push: |
| branches: [ "*" ] |
| tags: [ "*" ] |
| pull_request: |
| branches: [ "trunk" ] |
| |
| jobs: |
| build: |
| strategy: |
| matrix: |
| os: [windows-latest] |
| build-type: [Debug, Release] |
| generator: [ "Visual Studio 17 2022" ] |
| arch: [ "Win32", "x64" ] |
| toolset: [ "v143", "v142", "v141" ] |
| fail-fast: false |
| |
| name: "MSVC ${{ matrix.toolset }} ${{ matrix.arch }} [${{ matrix.build-type }}] on ${{ matrix.os }}" |
| # The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac. |
| # You can convert this to a matrix build if you need cross-platform coverage. |
| # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix |
| runs-on: ${{ matrix.os }} |
| |
| steps: |
| - uses: actions/checkout@v3 |
| |
| - name: Configure CMake |
| # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. |
| # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type |
| run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} -DAPR_BUILD_TESTAPR=ON -G "${{ matrix.generator }}" -A ${{ matrix.arch }} -T ${{ matrix.toolset }} |
| |
| - name: Build |
| # Build your program with the given configuration |
| run: cmake --build ${{github.workspace}}/build --config ${{ matrix.build-type }} |
| |
| - name: Test |
| working-directory: ${{github.workspace}}/build |
| # Execute tests defined by the CMake configuration. |
| # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail |
| run: ctest -C ${{ matrix.build-type }} --output-on-failure |