# Copyright (c) Microsoft Corporation. # Licensed under the MIT License. # # http://go.microsoft.com/fwlink/?LinkId=248926 name: 'CMake (Windows)' on: push: branches: [ "main" ] pull_request: branches: [ "main" ] paths-ignore: - '*.md' - LICENSE - '.nuget/*' - build/*.cmd - build/*.json - build/*.props - build/*.ps1 - build/*.targets - build/*.yml permissions: contents: read jobs: build: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [windows-2019, windows-2022] build_type: [x64-Debug, x64-Release] arch: [amd64] include: - os: windows-2019 build_type: x86-Debug arch: amd64_x86 - os: windows-2019 build_type: x86-Release arch: amd64_x86 - os: windows-2022 build_type: x86-Debug arch: amd64_x86 - os: windows-2022 build_type: x86-Release arch: amd64_x86 - os: windows-2022 build_type: x64-Debug-Clang arch: amd64 - os: windows-2022 build_type: x64-Release-Clang arch: amd64 - os: windows-2022 build_type: x86-Debug-Clang arch: amd64_x86 - os: windows-2022 build_type: x86-Release-Clang arch: amd64_x86 - os: windows-2022 build_type: arm64-Debug arch: amd64_arm64 - os: windows-2022 build_type: arm64-Release arch: amd64_arm64 - os: windows-2022 build_type: arm64ec-Debug arch: amd64_arm64 - os: windows-2022 build_type: arm64ec-Release arch: amd64_arm64 steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - name: 'Install Ninja' run: choco install ninja - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 with: arch: ${{ matrix.arch }} - name: 'Configure CMake' working-directory: ${{ github.workspace }} run: cmake --preset=${{ matrix.build_type }} - name: 'Build' working-directory: ${{ github.workspace }} run: cmake --build out\build\${{ matrix.build_type }} - if: matrix.arch != 'amd64_arm64' name: 'Configure CMake (Spectre)' working-directory: ${{ github.workspace }} run: cmake --preset=${{ matrix.build_type }} -DENABLE_SPECTRE_MITIGATION=ON - if: matrix.arch != 'amd64_arm64' name: 'Build (Spectre)' working-directory: ${{ github.workspace }} run: cmake --build out\build\${{ matrix.build_type }}