| name: NMake |
| on: [push, pull_request] |
| jobs: |
| nmake: |
| name: ${{ matrix.name }} |
| runs-on: ${{ matrix.os }} |
| strategy: |
| fail-fast: false |
| matrix: |
| include: |
| - name: Windows NMake x86 |
| os: windows-2022 |
| makefile: win32/Makefile.msc |
| arch: x86 |
| |
| - name: Windows NMake x64 compat |
| os: windows-2022 |
| makefile: win32/Makefile.msc |
| arch: x86_amd64 |
| additional-args: ZLIB_COMPAT=yes |
| |
| - name: Windows NMake x64 Symbol Prefix |
| os: windows-2022 |
| makefile: win32/Makefile.msc |
| arch: x86_amd64 |
| additional-args: SYMBOL_PREFIX=zTest_ |
| |
| - name: Windows NMake x64 Symbol Prefix Compat |
| os: windows-2022 |
| makefile: win32/Makefile.msc |
| arch: x86_amd64 |
| additional-args: ZLIB_COMPAT=yes SYMBOL_PREFIX=zTest_ |
| |
| - name: Windows NMake x64 |
| os: windows-2022 |
| makefile: win32/Makefile.msc |
| arch: x86_amd64 |
| |
| - name: Windows NMake ARM No Test |
| os: windows-2022 |
| makefile: win32/Makefile.arm |
| arch: x86_arm |
| |
| - name: Windows NMake ARM64 No Test |
| os: windows-2022 |
| makefile: win32/Makefile.a64 |
| arch: x86_arm64 |
| |
| steps: |
| - name: Checkout repository |
| uses: actions/checkout@v3 |
| |
| - name: Setup development environment |
| uses: ilammy/msvc-dev-cmd@v1.10.0 |
| with: |
| arch: ${{ matrix.arch }} |
| |
| - name: Compile source code |
| shell: cmd |
| run: nmake -f ${{ matrix.makefile }} ${{ matrix.additional-args }} |
| |
| - name: Run test cases |
| shell: cmd |
| # Don't run tests on Windows ARM |
| if: contains(matrix.arch, 'arm') == false |
| run: | |
| nmake -f ${{ matrix.makefile }} ${{ matrix.additional-args }} test |
| nmake -f ${{ matrix.makefile }} ${{ matrix.additional-args }} testdll |