Skip to content

Commit 7c2ecce

Browse files
qmfrederikdavidchisnall
authored andcommitted
Add MinGW CI
1 parent 1f038ca commit 7c2ecce

1 file changed

Lines changed: 42 additions & 0 deletions

File tree

.github/workflows/main.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,48 @@ jobs:
188188
run: |
189189
ctest -j 4 --output-on-failure -T test
190190
191+
mingw:
192+
strategy:
193+
matrix:
194+
# Build each combination of OS and release/debug variants
195+
os: [ windows-2019 ]
196+
msystem: [ ucrt64, mingw64 ]
197+
build-type: [ Release, Debug ]
198+
include:
199+
- msystem: ucrt64
200+
package-prefix: ucrt-x86_64
201+
cmake-flags: LDFLAGS="-fuse-ld=lld -lstdc++ -lgcc_s"
202+
- msystem: mingw64
203+
package-prefix: x86_64
204+
cmake-flags: LDFLAGS="-fuse-ld=lld -lstdc++ -lgcc_s"
205+
# Don't abort runners if a single one fails
206+
fail-fast: false
207+
runs-on: ${{ matrix.os }}
208+
name: ${{ matrix.os }} ${{ matrix.msystem }} ${{ matrix.build-type}}
209+
defaults:
210+
run:
211+
shell: msys2 {0}
212+
steps:
213+
- uses: actions/checkout@v3
214+
- uses: msys2/setup-msys2@v2
215+
with:
216+
msystem: ${{ matrix.msystem }}
217+
update: true
218+
install: git mingw-w64-${{ matrix.package-prefix }}-clang mingw-w64-${{ matrix.package-prefix }}-lld mingw-w64-${{ matrix.package-prefix }}-cmake
219+
- name: Configure CMake
220+
run: |
221+
mkdir build
222+
cd build
223+
${{ matrix.cmake-flags }} cmake .. -DTESTS=ON -DCMAKE_C_COMPILER="clang" -DCMAKE_CXX_COMPILER="clang" -DCMAKE_BUILD_TYPE=${{ matrix.build-type }}
224+
- name: Build
225+
working-directory: build
226+
run: |
227+
cmake --build .
228+
- name: Test
229+
working-directory: build
230+
run: |
231+
ctest -j 4 --output-on-failure -T test
232+
191233
192234
# Fake check that can be used as a branch-protection rule.
193235
all-checks:

0 commit comments

Comments
 (0)