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 sed '/#define _IRR_COMPILE_WITH_OGLES2_/ s|^//||g' -i include/IrrCompileConfig.h
52 sed '/#define _IRR_COMPILE_WITH_OPENGL_/ s|^|//|g' -i include/IrrCompileConfig.h
53 cmake . -DBUILD_EXAMPLES=1
56 - name: Test (headless)
64 LIBGL_ALWAYS_SOFTWARE=true xvfb-run ./AutomatedTest
67 runs-on: ubuntu-latest
70 env: { LANG: "C.UTF-8" }
72 - uses: actions/checkout@v3
76 apt-get install g++ cmake libsdl2-dev libpng-dev libjpeg-dev zlib1g-dev -qyy
80 sed '/#define _IRR_COMPILE_WITH_SDL_DEVICE_/ s|^//||g' -i include/IrrCompileConfig.h
81 cmake . -DBUILD_EXAMPLES=1
84 - name: Test (headless)
92 - uses: actions/checkout@v3
93 - name: Install compiler
95 sudo apt-get update && sudo apt-get install cmake -qyy
96 wget http://minetest.kitsunemimi.pw/mingw-w64-i686_11.2.0_ubuntu20.04.tar.xz -O mingw.tar.xz
97 sudo tar -xaf mingw.tar.xz -C /usr
101 ./scripts/ci-build-mingw.sh package
103 CC: i686-w64-mingw32-gcc
104 CXX: i686-w64-mingw32-g++
106 - uses: actions/upload-artifact@v3
109 path: ./irrlicht-win32.zip
112 runs-on: ubuntu-20.04
114 - uses: actions/checkout@v3
115 - name: Install compiler
117 sudo apt-get update && sudo apt-get install cmake -qyy
118 wget http://minetest.kitsunemimi.pw/mingw-w64-x86_64_11.2.0_ubuntu20.04.tar.xz -O mingw.tar.xz
119 sudo tar -xaf mingw.tar.xz -C /usr
123 ./scripts/ci-build-mingw.sh package
125 CC: x86_64-w64-mingw32-gcc
126 CXX: x86_64-w64-mingw32-g++
128 - uses: actions/upload-artifact@v3
131 path: ./irrlicht-win64.zip
134 runs-on: macos-latest
136 - uses: actions/checkout@v3
140 brew install cmake libpng jpeg
144 cmake . -DCMAKE_FIND_FRAMEWORK=LAST -DBUILD_EXAMPLES=1
147 - name: Test (headless)
149 ./bin/OSX/AutomatedTest null
152 name: VS 2019 ${{ matrix.config.arch }}
153 runs-on: windows-2019
155 VCPKG_VERSION: 14e7bb4ae24616ec54ff6b2f6ef4e8659434ea44
157 vcpkg_packages: zlib libpng libjpeg-turbo opengl-registry
164 generator: "-G'Visual Studio 16 2019' -A Win32"
165 vcpkg_triplet: x86-windows
168 generator: "-G'Visual Studio 16 2019' -A x64"
169 vcpkg_triplet: x64-windows
173 uses: actions/checkout@v3
175 - name: Restore from cache and run vcpkg
176 uses: lukka/run-vcpkg@v7
178 vcpkgArguments: ${{env.vcpkg_packages}}
179 vcpkgDirectory: '${{ github.workspace }}\vcpkg'
180 appendedCacheKey: ${{ matrix.config.vcpkg_triplet }}
181 vcpkgGitCommitId: ${{ env.VCPKG_VERSION }}
182 vcpkgTriplet: ${{ matrix.config.vcpkg_triplet }}
186 cmake ${{matrix.config.generator}} `
187 -DCMAKE_TOOLCHAIN_FILE="${{ github.workspace }}\vcpkg\scripts\buildsystems\vcpkg.cmake" `
188 -DCMAKE_BUILD_TYPE=Release .
191 run: cmake --build . --config Release
193 - name: Create artifact folder
198 - name: Move dlls into artifact folder
199 run: move bin\Win32-VisualStudio\Release\* artifact\lib\
201 - name: Move includes into artifact folder
202 run: move include artifact/
204 - name: Upload Artifact
205 uses: actions/upload-artifact@v3
207 name: msvc-${{ matrix.config.arch }}