3 on: [push, pull_request]
6 DESTDIR: ${{ github.workspace }}/build/tmp
13 - container: debian:11
14 - container: debian:12
15 #- container: ubuntu:20.04
16 - container: ubuntu:22.04
17 - container: ubuntu:23.10
18 runs-on: ubuntu-latest
20 image: ${{ matrix.container }}
22 - uses: actions/checkout@v3
23 - name: Set up dependencies
26 apt-get install -yqq cmake g++ libfluidsynth-dev liblo-dev libmagic-dev libsndfile1-dev libx11-dev lsb-release pkg-config
27 echo "PACK_NAME=$(lsb_release -cs 2>/dev/null)" >> "${GITHUB_ENV}"
29 run: cmake -S cmake -B build
31 run: cmake --build build -j $(nproc)
33 run: cmake --install build --verbose
34 - uses: actions/upload-artifact@v3
36 name: linux-${{ env.PACK_NAME }}
37 path: ${{ env.DESTDIR }}
47 - uses: actions/checkout@v3
48 - name: Set up dependencies
50 brew install cmake fluid-synth liblo libmagic libsndfile pkg-config
51 if [ "${{ matrix.frameworks }}" = "" ]; then
52 echo "PACK_NAME=frameworks" >> "${GITHUB_ENV}"
54 echo "PACK_NAME=libs" >> "${GITHUB_ENV}"
57 run: cmake -S cmake -B build -DCARLA_BUILD_FRAMEWORKS=${{ matrix.frameworks }}
59 run: cmake --build build -j $(sysctl -n hw.logicalcpu)
61 run: cmake --install build --verbose
62 - uses: actions/upload-artifact@v3
64 name: macos-${{ env.PACK_NAME }}
65 path: ${{ env.DESTDIR }}
71 - container: debian:11
72 - container: debian:12
73 #- container: ubuntu:20.04
74 - container: ubuntu:22.04
75 - container: ubuntu:23.10
76 runs-on: ubuntu-latest
78 image: ${{ matrix.container }}
80 - uses: actions/checkout@v3
81 - name: Set up dependencies
83 dpkg --add-architecture i386
85 apt-get install -yqq cmake binutils-mingw-w64-i686 gcc g++-mingw-w64 lsb-release mingw-w64 pkg-config
86 if [ "$(lsb_release -si 2>/dev/null)" = "Debian" ]; then
87 apt-get install -yqq wine wine32 wine64
89 apt-get install -yqq wine-stable
91 echo "PACK_NAME=$(lsb_release -cs 2>/dev/null)" >> "${GITHUB_ENV}"
95 run: cmake -S cmake -B build -DCMAKE_CROSSCOMPILING=ON -DCMAKE_CROSSCOMPILING_EMULATOR=wine -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_SYSTEM_PROCESSOR=i686 -DCMAKE_C_COMPILER=i686-w64-mingw32-gcc -DCMAKE_CXX_COMPILER=i686-w64-mingw32-g++ -DCMAKE_AR=/usr/bin/i686-w64-mingw32-ar -DCMAKE_C_COMPILER_AR=/usr/bin/i686-w64-mingw32-ar -DCMAKE_CXX_COMPILER_AR=/usr/bin/i686-w64-mingw32-ar -DCMAKE_RANLIB=/usr/bin/i686-w64-mingw32-ranlib -DCMAKE_C_COMPILER_RANLIB=/usr/bin/i686-w64-mingw32-ranlib -DCMAKE_CXX_COMPILER_RANLIB=/usr/bin/i686-w64-mingw32-ranlib -DCMAKE_RC_COMPILER=/usr/bin/i686-w64-mingw32-windres
97 run: cmake --build build -j $(nproc)
99 run: cmake --install build --verbose
100 - uses: actions/upload-artifact@v3
102 name: mingw32-${{ env.PACK_NAME }}
103 path: ${{ env.DESTDIR }}
109 - container: debian:11
110 - container: debian:12
111 #- container: ubuntu:20.04
112 - container: ubuntu:22.04
113 - container: ubuntu:23.10
114 runs-on: ubuntu-latest
116 image: ${{ matrix.container }}
118 - uses: actions/checkout@v3
119 - name: Set up dependencies
121 dpkg --add-architecture i386
123 apt-get install -yqq cmake binutils-mingw-w64-x86-64 gcc g++-mingw-w64 lsb-release mingw-w64 pkg-config
124 if [ "$(lsb_release -si 2>/dev/null)" = "Debian" ]; then
125 apt-get install -yqq wine wine32 wine64
127 apt-get install -yqq wine-stable
129 echo "PACK_NAME=$(lsb_release -cs 2>/dev/null)" >> "${GITHUB_ENV}"
133 run: cmake -S cmake -B build -DCMAKE_CROSSCOMPILING=ON -DCMAKE_CROSSCOMPILING_EMULATOR=wine -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_SYSTEM_PROCESSOR=x86_64 -DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc -DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++ -DCMAKE_AR=/usr/bin/x86_64-w64-mingw32-ar -DCMAKE_C_COMPILER_AR=/usr/bin/x86_64-w64-mingw32-ar -DCMAKE_CXX_COMPILER_AR=/usr/bin/x86_64-w64-mingw32-ar -DCMAKE_RANLIB=/usr/bin/x86_64-w64-mingw32-ranlib -DCMAKE_C_COMPILER_RANLIB=/usr/bin/x86_64-w64-mingw32-ranlib -DCMAKE_CXX_COMPILER_RANLIB=/usr/bin/x86_64-w64-mingw32-ranlib -DCMAKE_RC_COMPILER=/usr/bin/x86_64-w64-mingw32-windres
135 run: cmake --build build -j $(nproc)
137 run: cmake --install build --verbose
138 - uses: actions/upload-artifact@v3
140 name: mingw64-${{ env.PACK_NAME }}
141 path: ${{ env.DESTDIR }}
144 runs-on: windows-latest
146 - uses: actions/checkout@v3
148 run: cmake -S cmake -B build
150 run: cmake --build build
151 # FIXME fails with error
152 # https://github.com/falkTX/Carla/actions/runs/5137608233/jobs/9245932221
154 #run: cmake --install build --verbose