|
35 | 35 | - name: Checkout repo |
36 | 36 | uses: actions/checkout@v4 |
37 | 37 | - name: Install deps |
38 | | - shell: bash |
39 | 38 | run: | |
40 | | - ./.github/scripts/install_deps.sh ${{ matrix.os }} |
| 39 | + bash ./.github/scripts/install_deps.sh ${{ matrix.os }} |
41 | 40 | - name: Build & install using Make |
42 | 41 | if: matrix.buildsys == 'make' |
43 | 42 | run: | |
@@ -175,7 +174,7 @@ jobs: |
175 | 174 | - name: Build Windows binaries |
176 | 175 | shell: bash |
177 | 176 | run: | # ASan seems to be broken on Windows, so we disable it. |
178 | | - cmake -S . -B build --preset develop-msvc${{ matrix.bits }} -DFETCHCONTENT_BASE_DIR="${{ env.DEPS_ROOT_DIR }}" -DSANITIZERS=OFF |
| 177 | + cmake -S . -B build --preset develop-msvc${{ matrix.bits }} -DSANITIZERS=OFF -DFETCHCONTENT_BASE_DIR="${{ env.DEPS_ROOT_DIR }}" |
179 | 178 | cmake --build build |
180 | 179 | - name: Package binaries |
181 | 180 | shell: bash |
@@ -222,44 +221,29 @@ jobs: |
222 | 221 | bits: [32, 64] |
223 | 222 | include: |
224 | 223 | - bits: 32 |
225 | | - arch: i686 |
226 | 224 | triplet: i686-w64-mingw32 |
227 | 225 | - bits: 64 |
228 | | - arch: x86-64 |
229 | 226 | triplet: x86_64-w64-mingw32 |
230 | 227 | fail-fast: false |
231 | | - runs-on: ubuntu-22.04 |
232 | | - env: |
233 | | - DIST_DIR: win${{ matrix.bits }} |
| 228 | + runs-on: ubuntu-latest |
234 | 229 | steps: |
235 | 230 | - name: Checkout repo |
236 | 231 | uses: actions/checkout@v4 |
237 | 232 | - name: Install deps |
238 | | - shell: bash |
239 | 233 | run: | |
240 | | - ./.github/scripts/install_deps.sh ubuntu |
241 | | - - name: Install MinGW |
242 | | - run: | # dpkg-dev is apparently required for pkg-config for cross-building |
243 | | - sudo apt-get install g++-mingw-w64-${{ matrix.arch }}-win32 mingw-w64-tools libz-mingw-w64-dev dpkg-dev |
244 | | - - name: Install libpng dev headers for MinGW |
245 | | - run: | |
246 | | - ./.github/scripts/mingw-w64-libpng-dev.sh ${{ matrix.triplet }} |
| 234 | + bash .github/scripts/install_deps.sh ubuntu mingw${{ matrix.bits }} |
247 | 235 | - name: Cross-build Windows binaries |
248 | | - run: | |
249 | | - make mingw${{ matrix.bits }} -kj Q= |
| 236 | + run: | # ASan and UBSan are not supported on MinGW. |
| 237 | + cmake -B build --preset develop -DSANITIZERS=OFF -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-mingw${{ matrix.bits }}.cmake -DFETCHCONTENT_BASE_DIR="${{ env.DEPS_ROOT_DIR }}" |
| 238 | + cmake --build build |
250 | 239 | - name: Package binaries |
251 | | - run: | # DLL dependencies can be figured out using e.g. Dependency Walker or objdump -p |
252 | | - mkdir bins |
253 | | - mv -v rgb{asm,link,fix,gfx}.exe bins/ |
254 | | - cp -v /usr/${{ matrix.triplet }}/lib/zlib1.dll bins |
255 | | - cp -v /usr/${{ matrix.triplet }}/bin/libpng16-16.dll bins |
256 | | - cp -v /usr/lib/gcc/${{ matrix.triplet }}/10-win32/lib{ssp-0,stdc++-6}.dll bins |
257 | | - [ "${{ matrix.bits }}" -ne 32 ] || cp -v /usr/lib/gcc/${{ matrix.triplet }}/10-win32/libgcc_s_dw2-1.dll bins |
| 240 | + run: | |
| 241 | + cmake --install build --prefix . --component runtime --verbose |
258 | 242 | - name: Upload Windows binaries |
259 | 243 | uses: actions/upload-artifact@v4 |
260 | 244 | with: |
261 | 245 | name: rgbds-canary-mingw-win${{ matrix.bits }} |
262 | | - path: bins |
| 246 | + path: bin |
263 | 247 | - name: Upload Windows test binaries |
264 | 248 | uses: actions/upload-artifact@v4 |
265 | 249 | with: |
|
0 commit comments