3 # build on c/cpp changes or workflow changes
11 runs-on: ubuntu-latest
14 env: { LANG: "C.UTF-8" }
16 - uses: actions/checkout@v3
20 apt-get install g++ cmake libxi-dev libgl1-mesa-dev libpng-dev libjpeg-dev zlib1g-dev -qyy
29 make DESTDIR=$PWD/_install install
30 tar -c -I "gzip -9" -f irrlicht-linux.tar.gz -C ./_install/usr/local .
32 - uses: actions/upload-artifact@v3
35 path: ./irrlicht-linux.tar.gz
38 runs-on: ubuntu-latest
41 env: { LANG: "C.UTF-8" }
43 - uses: actions/checkout@v3
47 apt-get install g++ cmake libxi-dev libgles2-mesa-dev libpng-dev libjpeg-dev zlib1g-dev xvfb -qyy
51 cmake . -DBUILD_EXAMPLES=1 -DENABLE_OPENGL=OFF -DENABLE_GLES2=ON
54 - name: Test (headless)
62 LIBGL_ALWAYS_SOFTWARE=true xvfb-run ./AutomatedTest ogles2
65 runs-on: ubuntu-latest
68 env: { LANG: "C.UTF-8" }
70 - uses: actions/checkout@v3
74 apt-get install g++ cmake libsdl2-dev libpng-dev libjpeg-dev zlib1g-dev -qyy
78 cmake . -DBUILD_EXAMPLES=1 -DUSE_SDL2=ON
81 - name: Test (headless)
87 runs-on: ubuntu-latest
90 env: { LANG: "C.UTF-8" }
92 - uses: actions/checkout@v3
96 apt-get install g++ cmake libsdl2-dev libpng-dev libjpeg-dev zlib1g-dev -qyy
100 cmake . -DBUILD_EXAMPLES=1 -DUSE_SDL2=ON -DENABLE_OPENGL3=ON
103 - name: Test (headless)
111 LIBGL_ALWAYS_SOFTWARE=true xvfb-run ./AutomatedTest opengl3
114 runs-on: ubuntu-20.04
116 - uses: actions/checkout@v3
117 - name: Install compiler
119 sudo apt-get update && sudo apt-get install cmake -qyy
120 wget http://minetest.kitsunemimi.pw/mingw-w64-i686_11.2.0_ubuntu20.04.tar.xz -O mingw.tar.xz
121 sudo tar -xaf mingw.tar.xz -C /usr
125 ./scripts/ci-build-mingw.sh package
127 CC: i686-w64-mingw32-gcc
128 CXX: i686-w64-mingw32-g++
130 - uses: actions/upload-artifact@v3
133 path: ./irrlicht-win32.zip
136 runs-on: ubuntu-20.04
138 - uses: actions/checkout@v3
139 - name: Install compiler
141 sudo apt-get update && sudo apt-get install cmake -qyy
142 wget http://minetest.kitsunemimi.pw/mingw-w64-x86_64_11.2.0_ubuntu20.04.tar.xz -O mingw.tar.xz
143 sudo tar -xaf mingw.tar.xz -C /usr
147 ./scripts/ci-build-mingw.sh package
149 CC: x86_64-w64-mingw32-gcc
150 CXX: x86_64-w64-mingw32-g++
152 - uses: actions/upload-artifact@v3
155 path: ./irrlicht-win64.zip
158 runs-on: macos-latest
160 - uses: actions/checkout@v3
164 brew install cmake libpng jpeg
168 cmake . -DCMAKE_FIND_FRAMEWORK=LAST -DBUILD_EXAMPLES=1
171 - name: Test (headless)
173 ./bin/OSX/AutomatedTest null
176 name: VS 2019 ${{ matrix.config.arch }}
177 runs-on: windows-2019
179 VCPKG_VERSION: 14e7bb4ae24616ec54ff6b2f6ef4e8659434ea44
181 vcpkg_packages: zlib libpng libjpeg-turbo opengl-registry
188 generator: "-G'Visual Studio 16 2019' -A Win32"
189 vcpkg_triplet: x86-windows
192 generator: "-G'Visual Studio 16 2019' -A x64"
193 vcpkg_triplet: x64-windows
197 uses: actions/checkout@v3
199 - name: Restore from cache and run vcpkg
200 uses: lukka/run-vcpkg@v7
202 vcpkgArguments: ${{env.vcpkg_packages}}
203 vcpkgDirectory: '${{ github.workspace }}\vcpkg'
204 appendedCacheKey: ${{ matrix.config.vcpkg_triplet }}
205 vcpkgGitCommitId: ${{ env.VCPKG_VERSION }}
206 vcpkgTriplet: ${{ matrix.config.vcpkg_triplet }}
210 cmake ${{matrix.config.generator}} `
211 -DCMAKE_TOOLCHAIN_FILE="${{ github.workspace }}\vcpkg\scripts\buildsystems\vcpkg.cmake" `
212 -DCMAKE_BUILD_TYPE=Release .
215 run: cmake --build . --config Release
217 - name: Create artifact folder
222 - name: Move dlls into artifact folder
223 run: move bin\Win32-VisualStudio\Release\* artifact\lib\
225 - name: Move includes into artifact folder
226 run: move include artifact/
228 - name: Upload Artifact
229 uses: actions/upload-artifact@v3
231 name: msvc-${{ matrix.config.arch }}