88 strategy :
99 matrix :
1010 include :
11- # Windows x64
1211 - os : windows-latest
1312 arch : x64
14- cmake-args : >
15- -G Ninja
16- -DCMAKE_C_COMPILER=clang
17- -DCMAKE_CXX_COMPILER=clang++
18- -DCMAKE_C_FLAGS="-target x86_64-windows-gnu -W0 -m64"
19- -DCMAKE_CXX_FLAGS="-target x86_64-windows-gnu -W0 -m64"
20- -DBUILD_STATIC_LIB=OFF
21- -DBUILD_SHARED_LIBS=ON
22- -DBUILD_TOOLS=OFF
23- -DBUILD_TESTS=OFF
13+ cmake-args : -A x64 -DCMAKE_CXX_FLAGS="/W0 /MT" -DBUILD_STATIC_LIB=OFF -DBUILD_SHARED_LIBS=ON -DBUILD_TOOLS=OFF -DBUILD_TESTS=OFF
2414 runtime : win-x64
25-
26- # Windows x86
2715 - os : windows-latest
2816 arch : x86
29- cmake-args : >
30- -G Ninja
31- -DCMAKE_C_COMPILER=clang
32- -DCMAKE_CXX_COMPILER=clang++
33- -DCMAKE_C_FLAGS="-target i686-windows-gnu -W0 -m32"
34- -DCMAKE_CXX_FLAGS="-target i686-windows-gnu -W0 -m32"
35- -DBUILD_STATIC_LIB=OFF
36- -DBUILD_SHARED_LIBS=ON
37- -DBUILD_TOOLS=OFF
38- -DBUILD_TESTS=OFF
17+ cmake-args : -A Win32 -DCMAKE_CXX_FLAGS="/W0 /MT" -DBUILD_STATIC_LIB=OFF -DBUILD_SHARED_LIBS=ON -DBUILD_TOOLS=OFF -DBUILD_TESTS=OFF
3918 runtime : win-x86
40-
41- # Linux x64
4219 - os : ubuntu-latest
4320 arch : x64
44- cmake-args : >
45- -G Ninja
46- -DCMAKE_C_COMPILER=clang
47- -DCMAKE_CXX_COMPILER=clang++
48- -DCMAKE_C_FLAGS="-m64 -w -static-libgcc -static-libstdc++"
49- -DCMAKE_CXX_FLAGS="-m64 -w -static-libgcc -static-libstdc++"
50- -DBUILD_SHARED_LIBS=ON
51- -DBUILD_TOOLS=OFF
52- -DBUILD_TESTS=OFF
21+ cmake-args : -DCMAKE_C_FLAGS="-m64 -w -static-libgcc -static-libstdc++" -DCMAKE_CXX_FLAGS="-m64 -w -static-libgcc -static-libstdc++" -DBUILD_SHARED_LIBS=ON -DBUILD_TOOLS=OFF -DBUILD_TESTS=OFF
5322 runtime : linux-x64
54-
55- # Linux x86
5623 - os : ubuntu-latest
5724 arch : x86
58- cmake-args : >
59- -G Ninja
60- -DCMAKE_C_COMPILER=clang
61- -DCMAKE_CXX_COMPILER=clang++
62- -DCMAKE_C_FLAGS="-m32 -w -static-libgcc -static-libstdc++"
63- -DCMAKE_CXX_FLAGS="-m32 -w -static-libgcc -static-libstdc++"
64- -DBUILD_SHARED_LIBS=ON
65- -DBUILD_TOOLS=OFF
66- -DBUILD_TESTS=OFF
25+ cmake-args : -DCMAKE_C_FLAGS="-m32 -w -static-libgcc -static-libstdc++" -DCMAKE_CXX_FLAGS="-m32 -w -static-libgcc -static-libstdc++" -DBUILD_SHARED_LIBS=ON -DBUILD_TOOLS=OFF -DBUILD_TESTS=OFF
6726 runtime : linux-x86
6827
6928 runs-on : ${{ matrix.os }}
@@ -73,44 +32,34 @@ jobs:
7332 with :
7433 submodules : recursive
7534
76- # Install dependencies
7735 - name : Install build deps (Linux)
7836 if : runner.os == 'Linux'
7937 run : |
8038 sudo apt-get update
81- sudo apt-get install -y clang clang-tools cmake ninja-build gcc-multilib g++-multilib
39+ sudo apt-get install -y g++-multilib gcc-multilib cmake make
8240
83- - name : Install build deps (Windows)
84- if : runner.os == 'Windows'
85- run : choco install llvm ninja cmake mingw --no-progress --yes
86-
87- # Limit Binaryen to 1 core to prevent thread hang on MinGW
41+ # Limit Binaryen to 1 core
8842 - name : Limit Binaryen to 1 core
89- if : runner.os == 'Windows'
9043 run : echo "BINARYEN_CORES=1" >> $GITHUB_ENV
9144
92- # Configure
9345 - name : Configure
9446 run : cmake -S binaryen -B binaryen/build ${{ matrix.cmake-args }}
95-
96- # Build
47+
9748 - name : Build (Linux)
9849 if : runner.os == 'Linux'
99- run : cmake --build binaryen/build -- -j$(nproc)
50+ run : cmake --build binaryen/build -- -j1
10051
10152 - name : Build (Windows)
10253 if : runner.os == 'Windows'
103- run : cmake --build binaryen/build
54+ run : cmake --build binaryen/build --config Release -- /m:1
10455 shell : pwsh
10556
106- # Copy artifacts
10757 - name : Copy to NuGet runtime folder
10858 run : |
10959 mkdir -p package/runtimes/${{ matrix.runtime }}/native
11060 cp -r binaryen/build/lib/* package/runtimes/${{ matrix.runtime }}/native/
11161 shell : bash
11262
113- # Upload artifacts
11463 - name : Upload artifact
11564 uses : actions/upload-artifact@v4
11665 with :
0 commit comments