@@ -32,52 +32,59 @@ jobs:
3232 matrix :
3333 include :
3434 - arch : amd64
35- platform : linux/amd64
36- image : debian:bookworm
35+ compiler : g++
3736 - arch : arm64
38- platform : linux/arm64
39- image : debian:bookworm
37+ compiler : aarch64-linux-gnu-g++
38+ package : g++-aarch64-linux-gnu
39+ processor : aarch64
4040 - arch : armhf
41- platform : linux/arm/v7
42- image : debian:bookworm
41+ compiler : arm-linux-gnueabihf-g++
42+ package : g++-arm-linux-gnueabihf
43+ processor : arm
4344 - arch : armel
44- platform : linux/arm/v6
45- image : debian:bookworm
45+ compiler : arm-linux-gnueabi-g++
46+ package : g++-arm-linux-gnueabi
47+ processor : arm
4648 - arch : i386
47- platform : linux/386
48- image : debian:bookworm
49+ compiler : i686-linux-gnu-g++
50+ package : g++-i686-linux-gnu
51+ processor : i686
4952 - arch : mips64el
50- platform : linux/mips64le
51- image : debian:bookworm
53+ compiler : mips64el-linux-gnuabi64-g++
54+ package : g++-mips64el-linux-gnuabi64
55+ processor : mips64
5256 - arch : ppc64el
53- platform : linux/ppc64le
54- image : debian:bookworm
57+ compiler : powerpc64le-linux-gnu-g++
58+ package : g++-powerpc64le-linux-gnu
59+ processor : powerpc64le
5560 - arch : riscv64
56- platform : linux/riscv64
57- image : debian:sid
61+ compiler : riscv64-linux-gnu-g++
62+ package : g++-riscv64-linux-gnu
63+ processor : riscv64
5864 - arch : s390x
59- platform : linux/s390x
60- image : debian:bookworm
65+ compiler : s390x-linux-gnu-g++
66+ package : g++-s390x-linux-gnu
67+ processor : s390x
6168
6269 steps :
6370 - uses : actions/checkout@v4
6471
65- - name : Set up QEMU
66- uses : docker/setup-qemu-action@v4
72+ - name : Install tools (${{ matrix.arch }})
73+ run : |
74+ sudo apt-get update -q
75+ sudo apt-get install -y --no-install-recommends cmake ${{ matrix.package }}
6776
6877 - name : Build (${{ matrix.arch }})
6978 run : |
70- docker run --rm \
71- --platform ${{ matrix.platform }} \
72- -v ${{ github.workspace }}:/src \
73- -w /src \
74- ${{ matrix.image }} \
75- bash -c "
76- apt-get update -q &&
77- apt-get install -y --no-install-recommends cmake g++ build-essential &&
78- cmake -B build -DCMAKE_BUILD_TYPE=Release &&
79- cmake --build build --config Release
80- "
79+ CROSS_ARGS=""
80+ if [ -n "${{ matrix.processor }}" ]; then
81+ CROSS_ARGS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_SYSTEM_PROCESSOR=${{ matrix.processor }}"
82+ fi
83+ cmake -B build \
84+ -DCMAKE_BUILD_TYPE=Release \
85+ -DCMAKE_CXX_COMPILER=${{ matrix.compiler }} \
86+ $CROSS_ARGS
87+ cmake --build build --config Release
8188
8289 - name : Upload binary artifact
8390 uses : actions/upload-artifact@v4
0 commit comments