UI: use imgui for rendering the ui #278
This file contains hidden or 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 | |
| on: [push, pull_request] | |
| jobs: | |
| mac: | |
| runs-on: macos-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup | |
| run: | | |
| brew install lua sqlite | |
| - name: Build | |
| run: | | |
| mkdir build | |
| cd build | |
| cmake .. -GXcode -DTOOLS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$(pwd) -DCAVEPACKER=OFF -DUNITTESTS=OFF | |
| xcodebuild build -target install -project caveproductions.xcodeproj CODE_SIGNING_REQUIRED=NO -configuration Release | |
| ../contrib/scripts/create_dmg.sh caveexpress dev $(pwd)/.. $(pwd) | |
| - name: Upload the caveexpress artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: mac-caveexpress | |
| path: "build/caveexpress dev.dmg" | |
| linux: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y --no-install-recommends \ | |
| libsdl2-dev libsdl2-mixer-dev libsdl2-net-dev \ | |
| libyajl-dev libglm-dev libsdl2-image-dev libsqlite3-dev liblua5.4-dev zlib1g-dev \ | |
| pkg-config ninja-build libbox2d-dev=2.4* | |
| - name: Linux | |
| run: | | |
| cmake -GNinja -H. -Bbuild -DCMAKE_BUILD_TYPE=Release | |
| cmake --build build | |
| cmake --install build --component caveexpress --prefix install-caveexpress | |
| cmake --install build --component cavepacker --prefix install-cavepacker | |
| - name: Test | |
| run: | | |
| cd build | |
| ctest | |
| continue-on-error: true | |
| windows: | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Build | |
| run: | | |
| mkdir build | |
| cd build | |
| cmake --version | |
| cmake .. -DCMAKE_BUILD_TYPE=Release -DTOOLS=OFF -DUNITTESTS=OFF | |
| cmake --build . | |
| cmake --install . --component caveexpress --prefix install-caveexpress | |
| cmake --install . --component cavepacker --prefix install-cavepacker | |
| - name: Upload the cavepacker artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: win-cavepacker | |
| path: build/install-cavepacker | |
| - name: Upload the caveexpress artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: win-caveexpress | |
| path: build/install-caveexpress | |
| emscripten: | |
| timeout-minutes: 60 | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y --no-install-recommends \ | |
| libsdl2-dev libsdl2-mixer-dev libsdl2-net-dev \ | |
| libyajl-dev libglm-dev libsdl2-image-dev libsqlite3-dev liblua5.4-dev zlib1g-dev \ | |
| pkg-config ninja-build libbox2d-dev=2.4* | |
| - uses: mymindstorm/setup-emsdk@v13 | |
| with: | |
| version: 3.1.73 | |
| - name: ccache | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.ccache | |
| key: ${{ runner.os }}-${{ secrets.CACHE_VERSION }}-emscripten-build-${{ hashFiles('**/CMakeLists.txt') }} | |
| restore-keys: ${{ runner.os }}-${{ secrets.CACHE_VERSION }}-emscripten-build-${{ hashFiles('**/CMakeLists.txt') }} | |
| - name: Emscripten | |
| run: | | |
| emcmake cmake -H. -Bbuild -GNinja -DCMAKE_BUILD_TYPE=Release -DUNITTESTS=OFF -DTOOLS=OFF | |
| cmake --build build --target caveexpress | |
| - name: Upload the build artifacts for caveexpress | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: html5-caveexpress | |
| path: caveexpress.* | |
| - name: Upload the build artifacts for cavepacker | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: html5-cavepacker | |
| path: cavepacker.* |