Skip to content

Enable ccache

Enable ccache #6

Workflow file for this run

---
name: 🍎 MacOS
on:
push:
branches:
- vcpkg
- release-**
pull_request:
release:
types: ['published']
jobs:
build:
strategy:
matrix:
include:
- os: macos-12
triplet: x64-osx
- os: macos-14
triplet: arm64-osx
name: build (macos)
runs-on: ${{ matrix.os }}
steps:
- name: 🐣 Checkout
uses: actions/checkout@v3
- name: 🐩 Install CMake and Ninja
uses: lukka/get-cmake@latest
- name: 🔨 Prepare build env
run: |
brew install automake bison flex gnu-sed create-dmg autoconf-archive libtool
echo $(brew --prefix bison)/bin >> $GITHUB_PATH
echo $(brew --prefix flex)/bin >> $GITHUB_PATH
echo $(brew --prefix libtool)/bin >> $GITHUB_PATH
- uses: actions/setup-python@v5
with:
python-version: '3.11' # Python 3.12 does not have distutils which breaks fontconfig builds at the moment
- name: ⚒ Setup XCode
uses: maxim-lobanov/setup-xcode@v1.5.1
with:
xcode-version: latest-stable
- name: 🍮 ccache
uses: hendrikmuhs/ccache-action@v1.2.11 # Pinned until https://github.com/hendrikmuhs/ccache-action/issues/181
with:
key: ccache-${{ matrix.triplet }}
max-size: 200M
- name: 🌱 Install dependencies and generate project files
run: |
cmake -S "${{ github.workspace }}" \
-B "/Users/runner/build" \
-G Ninja \
-D CMAKE_BUILD_TYPE=Release \
-D CMAKE_INSTALL_PREFIX:PATH=/Users/runner/build/vcpkg_installed/${{ matrix.triplet }}-dynamic \
-D WITH_VCPKG=ON \
-D VCPKG_TARGET_TRIPLET=${{ matrix.triplet }}-dynamic \
-D VCPKG_HOST_TRIPLET=${{ matrix.triplet }}-dynamic \
-D WITH_3D=OFF \
-D WITH_BINDINGS=OFF \
-D ENABLE_TESTS=OFF \
-D VCPKG_MANIFEST_FEATURES="process;gui;desktop;bindings" \
-D USE_CCACHE=ON \
-D NUGET_USERNAME=m-kuhn \
-D NUGET_TOKEN=${{ secrets.GITHUB_TOKEN }}
- name: 🌋 Build
run: |
cmake --build "/Users/runner/build" --config Release
- name: 📦 Package
run: |
cmake --install "/Users/runner/build" --config Release
# create-dmg --volname "QField Installer" --hide-extension qfield.app --volicon "${CMAKE_SOURCE_DIR}/platform/macos/installer.icns" --background "${CMAKE_SOURCE_DIR}/platform/macos/installer_background.png" --window-pos 200 120 --window-size 512 320 --icon-size 100 --icon "qfield.app" 130 160 --app-drop-link 400 155 --codesign "${MACOS_CODE_SIGN_IDENTITY}" ${CMAKE_BINARY_DIR}/QField-Installer.dmg ${CMAKE_BINARY_DIR}/output/bin/qfield.app
create-dmg --volname "QGIS Installer" --hide-extension qgis.app --window-pos 200 120 --window-size 512 320 --icon-size 100 --app-drop-link 400 155 /Users/runner/QGIS-Installer.dmg /Users/runner/build/vcpkg_installed/${{ matrix.triplet }}-dynamic/QGIS.app
- name: 📦 Upload package
uses: actions/upload-artifact@v3
with:
name: "QField-dev-${{ matrix.triplet }}"
path: /Users/runner/QGIS-Installer.dmg