diff --git a/.ci/ios.sh b/.ci/ios.sh new file mode 100755 index 000000000..d6b4195f1 --- /dev/null +++ b/.ci/ios.sh @@ -0,0 +1,15 @@ +#!/bin/bash -ex + +mkdir build && cd build +cmake .. -GNinja \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SYSTEM_NAME=iOS \ + -DCMAKE_OSX_ARCHITECTURES=arm64 \ + -DCMAKE_C_COMPILER_LAUNCHER=ccache \ + -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ + -DENABLE_QT_TRANSLATION=ON \ + -DCITRA_ENABLE_COMPATIBILITY_REPORTING=ON \ + -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON +ninja + +ccache -s diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c8b6333e0..457bb1cd7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -245,6 +245,30 @@ jobs: with: name: ${{ env.OS }}-${{ env.TARGET }} path: src/android/app/artifacts/ + ios: + runs-on: macos-latest + if: ${{ !startsWith(github.ref, 'refs/tags/') }} + env: + CCACHE_CPP2: yes + CCACHE_SLOPPINESS: time_macros + CCACHE_DIR: ${{ github.workspace }}/.ccache + OS: ios + TARGET: arm64 + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive + - name: Set up cache + uses: actions/cache@v3 + with: + path: ${{ env.CCACHE_DIR }} + key: ${{ runner.os }}-ios-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-ios- + - name: Install tools + run: brew install ccache glslang ninja + - name: Build + run: ./.ci/ios.sh transifex: runs-on: ubuntu-latest container: citraemu/build-environments:linux-fresh