From ee8e1e0f026ea51a6cb74e6cafc18d829f4f8faf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kuba=20Podg=C3=B3rski?= <kuba--@users.noreply.github.com>
Date: Fri, 10 Dec 2021 13:21:19 +0100
Subject: [PATCH] switch to ninja build (#216)

---
 .github/workflows/build.yml | 38 +++++++++++++++++++------------------
 1 file changed, 20 insertions(+), 18 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 4d32a35..795eafe 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -8,32 +8,32 @@ jobs:
     steps:
     - uses: actions/checkout@v2
     - name: Tools
-      run: sudo apt-get -y install tree
+      run: sudo apt-get -y install tree ninja-build
     - name: Configure
       run: |
-        cmake -DSANITIZE_ADDRESS=On .
+        cmake -DSANITIZE_ADDRESS=On -S . -B build -GNinja
     - name: Build
       run: |
-        cmake --build .
-        tree -sha .
+        cmake --build build
+        tree -sha build
     - name: Test
-      run: ASAN_OPTIONS=detect_leaks=0 LSAN_OPTIONS=verbosity=1:log_threads=1 ctest -VV
+      run: ASAN_OPTIONS=detect_leaks=0 LSAN_OPTIONS=verbosity=1:log_threads=1 cmake --build build --target test
 
   macos:
     runs-on: macos-latest
     steps:
     - uses: actions/checkout@v2
     - name: Tools
-      run: brew install tree
+      run: brew install tree ninja
     - name: Configure
       run: |
-        cmake -DSANITIZE_ADDRESS=On .
+        cmake -DSANITIZE_ADDRESS=On -S . -B build -GNinja
     - name: Build
       run: |
-        cmake --build .
-        tree -sha .
+        cmake --build build
+        tree -sha build
     - name: Test
-      run:  ctest -VV
+      run: cmake --build build --target test
 
   # freebsd:
   #   runs-on: macos-latest
@@ -55,23 +55,25 @@ jobs:
     steps:
     - uses: actions/checkout@v2
     - name: Configure
-      run:  cmake .
+      run:  cmake -S . -B build
     - name: Build
       run: |
-        cmake --build . --config "Debug"
-        tree /a /f .
+        cmake --build build  --config "Debug"
+        tree /a /f build
     - name: Test
-      run: ctest -VV -C "Debug"
+      run: |
+        cd build
+        ctest -VV -C "Debug"
 
   windows-mingw:
     runs-on: "windows-latest"
     steps:
     - uses: actions/checkout@v2
     - name: Configure
-      run:  cmake -G "MinGW Makefiles" .
+      run:  cmake -S . -B build -G "MinGW Makefiles"
     - name: Build
       run: |
-        mingw32-make
-        tree /a /f .
+        cmake --build build
+        tree /a /f build
     - name: Test
-      run: ctest -VV -C "Debug"
+      run: cmake --build build --target test