@@ -10,7 +10,7 @@ defaults:
10
10
shell : bash
11
11
12
12
jobs :
13
- build :
13
+ build_linux :
14
14
name : build_${{ matrix.platform }}
15
15
runs-on : ubuntu-latest
16
16
strategy :
@@ -49,10 +49,35 @@ jobs:
49
49
name : ExternData_${{ matrix.platform }}
50
50
path : ExternData/Resources/Library/${{ matrix.platform }}/*.a
51
51
52
+ build_mingw64 :
53
+ name : build_mingw64
54
+ runs-on : windows-latest
55
+ steps :
56
+ - name : Checkout code
57
+ uses : actions/checkout@v4
58
+ with :
59
+ fetch-depth : 5
60
+ - name : Install HDF5
61
+ shell : pwsh
62
+ run : |
63
+ $env:PATH="$env:PATH;C:\msys64\mingw64\bin;C:\msys64\usr\bin;"
64
+
10000
C:\msys64\usr\bin\pacman.exe -Syu --noconfirm
65
+ C:\msys64\usr\bin\pacman.exe -S --noconfirm mingw-w64-x86_64-hdf5 mingw-w64-x86_64-pkgconf
66
+ - name : Build with gcc
67
+ shell : pwsh
68
+ run : |
69
+ $env:PATH="$env:PATH;C:\msys64\mingw64\bin;C:\msys64\usr\bin;"
70
+ pushd ExternData/Resources/C-Sources
71
+ mingw32-make CC="gcc" CFLAGS="-O3 -DNDEBUG" INC="-Ibsxml-json -Iexpat/lib -IC:\msys64\mingw64\include -Iinih -Ilibxls/include -Iminizip -Imodelica -Izlib -Iparson -Ilibxml2/include" TARGETDIR="mingw64"
72
+ - name : Upload artifacts
73
+ uses : actions/upload-artifact@v4
74
+ with :
75
+ name : ExternData_mingw64
76
+ path : ExternData/Resources/Library/mingw64/*.a
77
+
52
78
test :
53
79
name : test_cmake_${{ matrix.toolchain }}
54
80
runs-on : ${{ matrix.os }}
55
- timeout-minutes : 10
56
81
strategy :
57
82
fail-fast : false
58
83
matrix :
@@ -77,12 +102,19 @@ jobs:
77
102
uses : actions/checkout@v4
78
103
with :
79
104
fetch-depth : 5
105
+ - name : Install HDF5
106
+ if : matrix.compiler == 'mingw'
107
+ shell : pwsh
108
+ run : |
109
+ $env:PATH="$env:PATH;C:\msys64\mingw64\bin;C:\msys64\usr\bin;"
110
+ C:\msys64\usr\bin\pacman.exe -Syu --noconfirm
111
+ C:\msys64\usr\bin\pacman.exe -S --noconfirm mingw-w64-x86_64-hdf5 mingw-w64-x86_64-pkgconf
80
112
- name : Configure
81
113
run : |
82
114
if [ "${{ matrix.compiler }}" == "msvc" ]; then
83
115
cmake -S "$SRCDIR" -B build
84
116
elif [ "${{ matrix.compiler }}" == "mingw" ]; then
85
- cmake -S "$SRCDIR" -B build -DCMAKE_BUILD_TYPE=${{ matrix.configuration }} -G "MinGW Makefiles"
117
+
8000
cmake -S "$SRCDIR" -B build -DCMAKE_BUILD_TYPE=${{ matrix.configuration }} -DCMAKE_EXE_LINKER_FLAGS="-L/C:\msys64\mingw64\lib" - G "MinGW Makefiles"
86
118
else
87
119
cmake -S "$SRCDIR" -B build -DCMAKE_BUILD_TYPE=${{ matrix.configuration }} -DCMAKE_C_FLAGS="-Wall -Wextra"
88
120
fi
@@ -96,6 +128,13 @@ jobs:
96
128
cmake --build build -- -j8
97
129
fi
98
130
- name : Run tests
131
+ if : matrix.compiler == 'mingw'
132
+ shell : pwsh
133
+ run : |
134
+ $env:PATH="$env:PATH;C:\msys64\mingw64\bin;C:\msys64\usr\bin;"
135
+ ctest --no-tests=error --test-dir build --build-config ${{ matrix.configuration }} --parallel 8
136
+ - name : Run tests
137
+ if : matrix.compiler != 'mingw'
99
138
run : ctest --no-tests=error --test-dir build --build-config ${{ matrix.configuration }} --parallel 8
100
139
101
140
html_documentation_checks :
@@ -132,6 +171,7 @@ jobs:
132
171
echo "::add-matcher::./.github/checkTags.json"
133
172
python ./.CI/check_html.py checkTags ./
134
173
echo "::remove-matcher owner=checkTags::"
174
+
135
175
syntax_checks :
136
176
timeout-minutes : 5
137
177
runs-on : ubuntu-latest
@@ -150,6 +190,7 @@ jobs:
150
190
echo "::add-matcher::./.github/moparser.json"
151
191
ModelicaSyntaxChecker/Linux64/moparser -v 3.4 -r ExternData
152
192
echo "::remove-matcher owner=moparser::"
193
+
153
194
deprecation_checks :
154
195
timeout-minutes : 5
155
196
runs-on : ubuntu-latest
0 commit comments