Skip to content

Commit cf20dfb

Browse files
authored
replaces Unix Makefiles with Ninja (#249)
CMake doesn't support building C++20 modules with Makefiles, so we switch to Ninja.
1 parent e6b4072 commit cf20dfb

File tree

2 files changed

+37
-36
lines changed

2 files changed

+37
-36
lines changed

.github/workflows/ci.yml

Lines changed: 35 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
- uses: actions/checkout@v4
1717
- name: dependencies
1818
run: |
19-
sudo apt install gcc-10 g++-10 libgcc-10-dev libunwind8-dev
19+
sudo apt install gcc-10 g++-10 libgcc-10-dev libunwind8-dev ninja-build
2020
pip3 install colorama
2121
- name: libdwarf
2222
run: |
@@ -36,7 +36,7 @@ jobs:
3636
- uses: actions/checkout@v4
3737
- name: dependencies
3838
run: |
39-
sudo apt install gcc-10 g++-10 libgcc-10-dev libunwind8-dev
39+
sudo apt install gcc-10 g++-10 libgcc-10-dev libunwind8-dev ninja-build
4040
pip3 install colorama
4141
- name: libdwarf
4242
run: |
@@ -125,7 +125,7 @@ jobs:
125125
- uses: actions/checkout@v4
126126
- name: dependencies
127127
run: |
128-
sudo apt install gcc-10 g++-10 libgcc-10-dev libunwind8-dev
128+
sudo apt install gcc-10 g++-10 libgcc-10-dev libunwind8-dev ninja-build
129129
pip3 install colorama
130130
- name: libdwarf
131131
run: |
@@ -261,20 +261,21 @@ jobs:
261261
steps:
262262
- uses: actions/checkout@v4
263263
- name: dependencies
264-
run: sudo apt install gcc-11 g++-11 libgcc-11-dev
264+
run: sudo apt install gcc-11 g++-11 libgcc-11-dev ninja-build
265265
- name: build
266266
run: |
267267
mkdir -p build
268268
cd build
269-
cmake .. -DCMAKE_CXX_COMPILER=${{matrix.compiler}} -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=foo
270-
make -j
271-
make install
269+
cmake .. -GNinja -DCMAKE_CXX_COMPILER=${{matrix.compiler}} -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=foo
270+
ninja
271+
ninja install
272272
mkdir -p ../test/speedtest/build
273273
cd ../test/speedtest/build
274274
cmake .. \
275+
-GNinja \
275276
-DCMAKE_BUILD_TYPE=Debug \
276277
${{matrix.config}}
277-
make -j
278+
ninja
278279
- name: speedtest
279280
working-directory: test/speedtest/build
280281
run: |
@@ -298,8 +299,8 @@ jobs:
298299
cp -rv cpptrace/test/fetchcontent-integration .
299300
mkdir fetchcontent-integration/build
300301
cd fetchcontent-integration/build
301-
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCPPTRACE_TAG=$tag -DBUILD_SHARED_LIBS=${{matrix.shared}} -DCPPTRACE_WERROR_BUILD=On
302-
make
302+
cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug -DCPPTRACE_TAG=$tag -DBUILD_SHARED_LIBS=${{matrix.shared}} -DCPPTRACE_WERROR_BUILD=On
303+
ninja
303304
./main
304305
test-linux-findpackage:
305306
runs-on: ubuntu-22.04
@@ -315,14 +316,14 @@ jobs:
315316
tag=$(git rev-parse --abbrev-ref HEAD)
316317
mkdir build
317318
cd build
318-
cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=${{matrix.shared}} -DCPPTRACE_WERROR_BUILD=On
319-
sudo make -j install
319+
cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=${{matrix.shared}} -DCPPTRACE_WERROR_BUILD=On
320+
sudo ninja install
320321
cd ../..
321322
cp -rv cpptrace/test/findpackage-integration .
322323
mkdir findpackage-integration/build
323324
cd findpackage-integration/build
324-
cmake .. -DCMAKE_BUILD_TYPE=Debug
325-
make
325+
cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug
326+
ninja
326327
./main
327328
test-linux-add_subdirectory:
328329
runs-on: ubuntu-22.04
@@ -340,8 +341,8 @@ jobs:
340341
cp -rv cpptrace add_subdirectory-integration
341342
mkdir add_subdirectory-integration/build
342343
cd add_subdirectory-integration/build
343-
cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=${{matrix.shared}} -DCPPTRACE_WERROR_BUILD=On
344-
make
344+
cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=${{matrix.shared}} -DCPPTRACE_WERROR_BUILD=On
345+
ninja
345346
./main
346347
347348
test-macos-fetchcontent:
@@ -361,8 +362,8 @@ jobs:
361362
cp -rv cpptrace/test/fetchcontent-integration .
362363
mkdir fetchcontent-integration/build
363364
cd fetchcontent-integration/build
364-
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCPPTRACE_TAG=$tag -DBUILD_SHARED_LIBS=${{matrix.shared}} -DCPPTRACE_WERROR_BUILD=On
365-
make
365+
cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug -DCPPTRACE_TAG=$tag -DBUILD_SHARED_LIBS=${{matrix.shared}} -DCPPTRACE_WERROR_BUILD=On
366+
ninja
366367
./main
367368
test-macos-findpackage:
368369
runs-on: macos-14
@@ -379,14 +380,14 @@ jobs:
379380
echo $tag
380381
mkdir build
381382
cd build
382-
cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=${{matrix.shared}} -DCPPTRACE_WERROR_BUILD=On
383-
sudo make -j install
383+
cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=${{matrix.shared}} -DCPPTRACE_WERROR_BUILD=On
384+
sudo ninja install
384385
cd ../..
385386
cp -rv cpptrace/test/findpackage-integration .
386387
mkdir findpackage-integration/build
387388
cd findpackage-integration/build
388-
cmake .. -DCMAKE_BUILD_TYPE=Debug
389-
make
389+
cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug
390+
ninja
390391
./main
391392
test-macos-add_subdirectory:
392393
runs-on: macos-14
@@ -404,8 +405,8 @@ jobs:
404405
cp -rv cpptrace add_subdirectory-integration
405406
mkdir add_subdirectory-integration/build
406407
cd add_subdirectory-integration/build
407-
cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=${{matrix.shared}} -DCPPTRACE_WERROR_BUILD=On
408-
make
408+
cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=${{matrix.shared}} -DCPPTRACE_WERROR_BUILD=On
409+
ninja
409410
./main
410411
411412
test-mingw-fetchcontent:
@@ -425,8 +426,8 @@ jobs:
425426
cp -Recurse cpptrace/test/fetchcontent-integration .
426427
mkdir fetchcontent-integration/build
427428
cd fetchcontent-integration/build
428-
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCPPTRACE_TAG="$tag" "-GUnix Makefiles" -DBUILD_SHARED_LIBS=${{matrix.shared}} -DCPPTRACE_WERROR_BUILD=On
429-
make
429+
cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug -DCPPTRACE_TAG="$tag" -DBUILD_SHARED_LIBS=${{matrix.shared}} -DCPPTRACE_WERROR_BUILD=On
430+
ninja
430431
.\main.exe
431432
test-mingw-findpackage:
432433
runs-on: windows-2022
@@ -443,14 +444,14 @@ jobs:
443444
echo $tag
444445
mkdir build
445446
cd build
446-
cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=${{matrix.shared}} "-GUnix Makefiles" -DCMAKE_INSTALL_PREFIX=C:/foo -DCPPTRACE_WERROR_BUILD=On
447-
make -j install
447+
cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=${{matrix.shared}} -DCMAKE_INSTALL_PREFIX=C:/foo -DCPPTRACE_WERROR_BUILD=On
448+
ninja install
448449
cd ../..
449450
mv cpptrace/test/findpackage-integration .
450451
mkdir findpackage-integration/build
451452
cd findpackage-integration/build
452-
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH=C:/foo "-GUnix Makefiles"
453-
make
453+
cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH=C:/foo
454+
ninja
454455
./main
455456
test-mingw-add_subdirectory:
456457
runs-on: windows-2022
@@ -468,8 +469,8 @@ jobs:
468469
cp -Recurse cpptrace add_subdirectory-integration
469470
mkdir add_subdirectory-integration/build
470471
cd add_subdirectory-integration/build
471-
cmake .. -DCMAKE_BUILD_TYPE=Debug "-GUnix Makefiles" -DBUILD_SHARED_LIBS=${{matrix.shared}} -DCPPTRACE_WERROR_BUILD=On
472-
make
472+
cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=${{matrix.shared}} -DCPPTRACE_WERROR_BUILD=On
473+
ninja
473474
.\main.exe
474475
test-windows-fetchcontent:
475476
runs-on: windows-2022
@@ -559,7 +560,7 @@ jobs:
559560
- uses: actions/checkout@v4
560561
- name: dependencies
561562
run: |
562-
sudo apt install gcc-10 g++-10 libgcc-10-dev ninja-build libc++-dev
563+
sudo apt install gcc-10 g++-10 libgcc-10-dev ninja-build libc++-dev ninja-build
563564
cd ..
564565
cpptrace/ci/setup-prerequisites-unittest.sh
565566
- name: build and test
@@ -598,7 +599,7 @@ jobs:
598599
- uses: actions/checkout@v4
599600
- name: dependencies
600601
run: |
601-
sudo apt install gcc-10 g++-10 libgcc-10-dev ninja-build libc++-dev
602+
sudo apt install gcc-10 g++-10 libgcc-10-dev ninja-build libc++-dev ninja-build
602603
cd ..
603604
cpptrace/ci/setup-prerequisites-unittest.sh
604605
- name: build and test

.github/workflows/sonarlint.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ jobs:
2020
run: |
2121
mkdir build
2222
cd build
23-
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCPPTRACE_BUILD_TESTING=On -DCMAKE_EXPORT_COMPILE_COMMANDS=On -DCMAKE_CXX_STANDARD=11
24-
make -j
23+
cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug -DCPPTRACE_BUILD_TESTING=On -DCMAKE_EXPORT_COMPILE_COMMANDS=On -DCMAKE_CXX_STANDARD=11
24+
ninja
2525
cd ..
2626
- name: Run sonar-scanner
2727
env:

0 commit comments

Comments
 (0)