|
22 | 22 | - name: Check formatting
|
23 | 23 | run: |
|
24 | 24 | git fetch --depth=1 origin master
|
25 |
| - clang-format -style=file -output-replacements-xml $(git ls-files '*.cpp' '*.h' '*.ixx' '*.hpp') | grep "<replacement " && echo "Code is not properly formatted" && exit 1 || echo "All good" |
| 25 | + FILES=$(git ls-files '*.cpp' '*.hpp' '*.h' '*.ixx') |
| 26 | + if [ -n "$FILES" ]; then |
| 27 | + clang-format -style=file -output-replacements-xml $FILES | grep "<replacement " >/dev/null \ |
| 28 | + && { echo "Code is not properly formatted"; exit 1; } \ |
| 29 | + || echo "All good" |
| 30 | + else |
| 31 | + echo "No files to format" |
| 32 | + fi |
26 | 33 |
|
27 | 34 | build:
|
28 | 35 | name: Build project
|
@@ -52,27 +59,33 @@ jobs:
|
52 | 59 | sudo apt-get update
|
53 | 60 | if [ "${{ matrix.compiler }}" == "clang" ]; then
|
54 | 61 | sudo apt-get install -y clang
|
55 |
| - elif [ "${{ matrix.compiler }}" == "gcc" ]; then |
56 |
| - sudo apt-get install -y g++ |
57 | 62 | fi
|
58 | 63 | shell: bash
|
59 | 64 |
|
60 |
| - - name: Configure CMake |
| 65 | + - name: Configure (Ubuntu + clang) |
| 66 | + if: matrix.os == 'ubuntu-latest' && matrix.compiler == 'clang' |
61 | 67 | run: |
|
62 | 68 | mkdir build
|
63 | 69 | cd build
|
64 |
| - GENERATOR="-G Ninja" |
65 |
| - if [ "${{ matrix.os }}" == "ubuntu-latest" ]; then |
66 |
| - if [ "${{ matrix.compiler }}" == "clang" ]; then |
67 |
| - cmake $GENERATOR -DCMAKE_CXX_COMPILER=clang++ .. |
68 |
| - elif [ "${{ matrix.compiler }}" == "gcc" ]; then |
69 |
| - cmake $GENERATOR -DCMAKE_CXX_COMPILER=g++ .. |
70 |
| - fi |
71 |
| - else |
72 |
| - cmake $GENERATOR .. |
73 |
| - fi |
| 70 | + cmake -G Ninja -DCMAKE_CXX_COMPILER=clang++ .. |
74 | 71 | shell: bash
|
75 | 72 |
|
| 73 | + - name: Configure (Windows + msvc) |
| 74 | + if: matrix.os == 'windows-latest' && matrix.compiler == 'msvc' |
| 75 | + run: | |
| 76 | + mkdir build |
| 77 | + cd build |
| 78 | + cmake -G "Visual Studio 17 2022" -A x64 .. |
| 79 | + shell: pwsh |
| 80 | + |
| 81 | + - name: Configure (Windows + clang) |
| 82 | + if: matrix.os == 'windows-latest' && matrix.compiler == 'clang' |
| 83 | + run: | |
| 84 | + mkdir build |
| 85 | + cd build |
| 86 | + cmake -G Ninja -DCMAKE_CXX_COMPILER=clang++ .. |
| 87 | + shell: pwsh |
| 88 | + |
76 | 89 | - name: Build
|
77 | 90 | run: cmake --build build --config Release
|
78 | 91 | shell: bash
|
0 commit comments