| name: iOS |
| permissions: |
| contents: read |
| |
| on: [push, pull_request, workflow_dispatch] |
| |
| jobs: |
| build: |
| runs-on: ${{ matrix.os }} |
| strategy: |
| matrix: |
| os: [ macos-12, macos-13 ] |
| steps: |
| - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3 |
| - uses: lukka/get-cmake@4931ab1fc1604964c055eb330edb3f6b26ba0cfa # v3.29.2 |
| - name: Download dependencies |
| run: python3 utils/git-sync-deps |
| # NOTE: The MacOS SDK ships universal binaries. CI should reflect this. |
| - name: Configure Universal Binary for iOS |
| run: | |
| cmake -S . -B build \ |
| -D CMAKE_BUILD_TYPE=Debug \ |
| -D CMAKE_SYSTEM_NAME=iOS \ |
| "-D CMAKE_OSX_ARCHITECTURES=arm64;x86_64" \ |
| -G Ninja |
| env: |
| # Linker warnings as errors |
| LDFLAGS: -Wl,-fatal_warnings |
| - run: cmake --build build |
| - run: cmake --install build --prefix /tmp |