fix min on mac #21
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build | |
# build on c/cpp changes or workflow changes | |
on: | |
- push | |
- pull_request | |
- workflow_dispatch | |
jobs: | |
linux-gl: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
depth: 0 | |
- name: Install deps | |
run: | | |
sudo apt-get update | |
sudo apt-get install g++ cmake libxi-dev libgl1-mesa-dev libpng-dev libjpeg-dev zlib1g-dev -qyy | |
- name: Build | |
run: | | |
cmake . -DBUILD_SHARED_LIBS=OFF -DUSE_SDL2=OFF | |
make VERBOSE=1 -j2 | |
- name: Test | |
run: | | |
ctest --output-on-failure | |
- name: Package | |
run: | | |
make DESTDIR=$PWD/_install install | |
tar -c -I "gzip -9" -f irrlicht-linux.tar.gz -C ./_install/usr/local . | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: irrlicht-linux | |
path: ./irrlicht-linux.tar.gz | |
mingw: | |
name: "MinGW ${{matrix.config.variant}}${{matrix.config.extras}}" | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- {variant: win32, arch: i686} | |
- {variant: win64, arch: x86_64} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
depth: 0 | |
- name: Install compiler | |
run: | | |
sudo apt-get update && sudo apt-get install cmake -qyy | |
chmod +x ./scripts/ci-get-mingw.sh | |
./scripts/ci-get-mingw.sh | |
- name: Build | |
run: | | |
chmod +x ./scripts/ci-build-mingw.sh | |
./scripts/ci-build-mingw.sh package | |
env: | |
CC: ${{matrix.config.arch}}-w64-mingw32-clang | |
CXX: ${{matrix.config.arch}}-w64-mingw32-clang++ | |
extras: ${{matrix.config.extras}} | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: irrlicht-${{matrix.config.variant}}${{matrix.config.extras}} | |
path: ./irrlicht-${{matrix.config.variant}}${{matrix.config.extras}}.zip | |
macos: | |
if: false | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
depth: 0 | |
- name: Install deps | |
run: | | |
brew update | |
brew install cmake libpng jpeg | |
- name: Build | |
run: | | |
cmake . -DCMAKE_FIND_FRAMEWORK=LAST -DBUILD_EXAMPLES=0 -DBUILD_SHARED_LIBS=false | |
make -j3 | |
- name: Test (headless) | |
run: | | |
./bin/OSX/AutomatedTest null | |
msvc: | |
name: VS 2019 ${{ matrix.config.arch }} ${{ matrix.sdl.label }} | |
runs-on: windows-2019 | |
env: | |
VCPKG_VERSION: 8eb57355a4ffb410a2e94c07b4dca2dffbee8e50 | |
# 2023.10.19 | |
vcpkg_packages: zlib libpng libjpeg-turbo | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- | |
arch: x86 | |
generator: "-G'Visual Studio 16 2019' -A Win32" | |
vcpkg_triplet: x86-windows | |
- | |
arch: x64 | |
generator: "-G'Visual Studio 16 2019' -A x64" | |
vcpkg_triplet: x64-windows | |
sdl: | |
- | |
use: FALSE | |
label: '(no SDL)' | |
vcpkg_packages: opengl-registry | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
depth: 0 | |
- name: Restore from cache and run vcpkg | |
uses: lukka/run-vcpkg@v7 | |
with: | |
vcpkgArguments: ${{env.vcpkg_packages}} ${{matrix.sdl.vcpkg_packages}} | |
vcpkgDirectory: '${{ github.workspace }}\vcpkg' | |
appendedCacheKey: ${{ matrix.config.vcpkg_triplet }} | |
vcpkgGitCommitId: ${{ env.VCPKG_VERSION }} | |
vcpkgTriplet: ${{ matrix.config.vcpkg_triplet }} | |
- name: CMake | |
run: | | |
cmake ${{matrix.config.generator}} ` | |
-DCMAKE_CXX_FLAGS_RELEASE="/MT /O2 /Ob2 /DNDEBUG" ` | |
-DBUILD_SHARED_LIBS=false ` | |
-DUSE_SDL2=${{matrix.sdl.use}} ` | |
-DCMAKE_TOOLCHAIN_FILE="${{ github.workspace }}\vcpkg\scripts\buildsystems\vcpkg.cmake" ` | |
-DCMAKE_BUILD_TYPE=Release . | |
- name: Build | |
run: cmake --build . --config Release | |
- name: Create artifact folder | |
run: | | |
mkdir artifact/ | |
mkdir artifact/lib/ | |
- name: Move dlls into artifact folder | |
run: move bin\Win32-VisualStudio\Release\* artifact\lib\ | |
- name: Move libs into artifact folder | |
run: move lib\Win32-VisualStudio\Release\* artifact\lib\ | |
- name: Move includes into artifact folder | |
run: move include artifact/ | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: msvc-${{ matrix.config.arch }}-${{matrix.sdl.use}} | |
path: artifact/ | |
android: | |
name: Android ${{ matrix.arch }} | |
runs-on: ubuntu-20.04 | |
env: | |
ndk_version: "r25c" | |
ANDROID_NDK: ${{ github.workspace }}/android-ndk | |
strategy: | |
matrix: | |
arch: [armeabi-v7a, arm64-v8a, x86, x86_64] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
depth: 0 | |
- name: Install deps | |
run: | | |
sudo rm /var/lib/man-db/auto-update || true | |
sudo apt-get update | |
sudo apt-get install -qyy wget unzip zip gcc-multilib make cmake | |
- name: Cache NDK | |
id: cache-ndk | |
uses: actions/cache@v4 | |
with: | |
key: android-ndk-${{ env.ndk_version }}-linux | |
path: ${{ env.ANDROID_NDK }} | |
- name: Install NDK | |
run: | | |
wget --progress=bar:force "http://dl.google.com/android/repository/android-ndk-${ndk_version}-linux.zip" | |
unzip -q "android-ndk-${ndk_version}-linux.zip" | |
rm "android-ndk-${ndk_version}-linux.zip" | |
mv "android-ndk-${ndk_version}" "${ANDROID_NDK}" | |
if: ${{ steps.cache-ndk.outputs.cache-hit != 'true' }} | |
- name: Build | |
run: | | |
chmod +x ./scripts/ci-build-android.sh | |
./scripts/ci-build-android.sh ${{ matrix.arch }} | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: irrlicht-android-${{ matrix.arch }} | |
path: ${{ runner.temp }}/pkg/${{ matrix.arch }} |