@@ -10,46 +10,10 @@ jobs:
1010 include :
1111 - os : windows-latest
1212 arch : x64
13- mingw-path : C:/tools/mingw64/bin
14- cmake-args : >
15- -G "MinGW Makefiles"
16- -DCMAKE_C_COMPILER="C:/tools/mingw64/bin/x86_64-w64-mingw32-gcc.exe"
17- -DCMAKE_CXX_COMPILER="C:/tools/mingw64/bin/x86_64-w64-mingw32-g++.exe"
18- -DCMAKE_C_FLAGS="-W0 -m64 -static-libgcc -static-libstdc++"
19- -DCMAKE_CXX_FLAGS="-W0 -m64 -static-libgcc -static-libstdc++"
20- -DBUILD_STATIC_LIB=OFF
21- -DBUILD_SHARED_LIBS=ON
22- -DBUILD_TOOLS=OFF
23- -DBUILD_TESTS=OFF
2413 runtime : win-x64
2514 - os : windows-latest
2615 arch : x86
27- mingw-path : C:/tools/mingw32/bin
28- cmake-args : >
29- -G "MinGW Makefiles"
30- -DCMAKE_C_COMPILER="C:/tools/mingw32/bin/i686-w64-mingw32-gcc.exe"
31- -DCMAKE_CXX_COMPILER="C:/tools/mingw32/bin/i686-w64-mingw32-g++.exe"
32- -DCMAKE_C_FLAGS="-W0 -m32 -static-libgcc -static-libstdc++"
33- -DCMAKE_CXX_FLAGS="-W0 -m32 -static-libgcc -static-libstdc++"
34- -DBUILD_STATIC_LIB=OFF
35- -DBUILD_SHARED_LIBS=ON
36- -DBUILD_TOOLS=OFF
37- -DBUILD_TESTS=OFF
3816 runtime : win-x86
39- - os : ubuntu-latest
40- arch : x64
41- cmake-args : >
42- -DCMAKE_C_FLAGS="-m64 -w -static-libgcc -static-libstdc++"
43- -DCMAKE_CXX_FLAGS="-m64 -w -static-libgcc -static-libstdc++"
44- -DBUILD_SHARED_LIBS=ON -DBUILD_TOOLS=OFF -DBUILD_TESTS=OFF
45- runtime : linux-x64
46- - os : ubuntu-latest
47- arch : x86
48- cmake-args : >
49- -DCMAKE_C_FLAGS="-m32 -w -static-libgcc -static-libstdc++"
50- -DCMAKE_CXX_FLAGS="-m32 -w -static-libgcc -static-libstdc++"
51- -DBUILD_SHARED_LIBS=ON -DBUILD_TOOLS=OFF -DBUILD_TESTS=OFF
52- runtime : linux-x86
5317
5418 runs-on : ${{ matrix.os }}
5519
@@ -58,41 +22,40 @@ jobs:
5822 with :
5923 submodules : recursive
6024
61- - name : Install build deps (Linux)
62- if : runner.os == 'Linux'
63- run : |
64- sudo apt-get update
65- sudo apt-get install -y g++-multilib gcc-multilib cmake make
66-
67- - name : Install build deps (Windows)
25+ - name : Install MinGW and CMake
6826 if : runner.os == 'Windows'
6927 run : |
7028 choco install mingw --no-progress --yes
7129 choco install cmake ninja --no-progress --yes
30+ shell : pwsh
31+
32+ - name : Add MinGW to PATH
33+ if : runner.os == 'Windows'
34+ run : |
35+ if (${{ matrix.arch }} -eq 'x64') {
36+ $mingw = "C:\tools\mingw64\bin"
37+ } else {
38+ $mingw = "C:\tools\mingw32\bin"
39+ }
40+ $env:PATH = "$mingw;$env:PATH"
41+ echo "PATH=$env:PATH" >> $GITHUB_ENV
42+ shell : pwsh
7243
7344 - name : Limit Binaryen to 1 core
7445 run : echo "BINARYEN_CORES=1" >> $GITHUB_ENV
7546
7647 - name : Configure
77- run : cmake -S binaryen -B binaryen/build ${{ matrix.cmake-args }}
78-
79- - name : Build (Linux)
80- if : runner.os == 'Linux'
81- run : cmake --build binaryen/build -- -j1
48+ run : |
49+ if (${{ runner.os }} -eq 'Windows') {
50+ if (${{ matrix.arch }} -eq 'x64') {
51+ cmake -S binaryen -B binaryen/build -G "MinGW Makefiles" -DCMAKE_C_FLAGS="-W0 -m64 -static-libgcc -static-libstdc++" -DCMAKE_CXX_FLAGS="-W0 -m64 -static-libgcc -static-libstdc++" -DBUILD_STATIC_LIB=OFF -DBUILD_SHARED_LIBS=ON -DBUILD_TOOLS=OFF -DBUILD_TESTS=OFF
52+ } else {
53+ cmake -S binaryen -B binaryen/build -G "MinGW Makefiles" -DCMAKE_C_FLAGS="-W0 -m32 -static-libgcc -static-libstdc++" -DCMAKE_CXX_FLAGS="-W0 -m32 -static-libgcc -static-libstdc++" -DBUILD_STATIC_LIB=OFF -DBUILD_SHARED_LIBS=ON -DBUILD_TOOLS=OFF -DBUILD_TESTS=OFF
54+ }
55+ }
56+ shell : pwsh
8257
8358 - name : Build (Windows)
8459 if : runner.os == 'Windows'
8560 run : cmake --build binaryen/build -- -j1
8661 shell : pwsh
87-
88- - name : Copy to NuGet runtime folder
89- run : |
90- mkdir -p package/runtimes/${{ matrix.runtime }}/native
91- cp -r binaryen/build/lib/* package/runtimes/${{ matrix.runtime }}/native/
92- shell : bash
93-
94- - name : Upload artifact
95- uses : actions/upload-artifact@v4
96- with :
97- name : runtimes-${{ matrix.runtime }}
98- path : package/runtimes/${{ matrix.runtime }}
0 commit comments