diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 27ab7ad..8960810 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -12,22 +12,22 @@ jobs: strategy: fail-fast: false matrix: - preset: [linux-clang, linux-gcc, macos, windows] + preset: [linux-clang, linux-gcc, macos, windows-ninja] config: [Debug, Release] sanitize: [address, thread, undefined, leak, memory] exclude: - { preset: linux-gcc, sanitize: memory } - { preset: macos, sanitize: leak } - { preset: macos, sanitize: memory } - - { preset: windows, sanitize: thread } - - { preset: windows, sanitize: undefined } - - { preset: windows, sanitize: leak } - - { preset: windows, sanitize: memory } + - { preset: windows-ninja, sanitize: thread } + - { preset: windows-ninja, sanitize: undefined } + - { preset: windows-ninja, sanitize: leak } + - { preset: windows-ninja, sanitize: memory } include: - { preset: linux-clang, os: ubuntu-latest } - { preset: linux-gcc, os: ubuntu-latest } - { preset: macos, os: macos-latest } - - { preset: windows, os: windows-latest } + - { preset: windows-ninja, os: windows-latest } runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -42,6 +42,10 @@ jobs: run: | sudo apt-get update sudo apt-get install -y ninja-build + - name: Install dependencies + if: runner.os == 'Windows' + run: | + choco install ninja - name: Configure run: > diff --git a/cmake/preset/windows.json b/cmake/preset/windows.json index 626e614..e737faa 100644 --- a/cmake/preset/windows.json +++ b/cmake/preset/windows.json @@ -13,6 +13,15 @@ "default" ] }, + { + "name": "windows-ninja", + "inherits": [ + "host-windows", + "target-windows", + "ninja", + "default" + ] + }, { "name": "windows-arm", "inherits": [ @@ -58,6 +67,13 @@ "host-windows" ] }, + { + "name": "windows-ninja", + "configurePreset": "windows-ninja", + "inherits": [ + "host-windows" + ] + }, { "name": "windows-arm", "configurePreset": "windows-arm", @@ -96,6 +112,14 @@ "options" ] }, + { + "name": "windows-ninja", + "configurePreset": "windows-ninja", + "inherits": [ + "host-windows", + "options" + ] + }, { "name": "windows-arm", "configurePreset": "windows-arm",