chore(cpn): cmake use automoc and autouic (#4258) #46
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: MacOSX Companion | |
on: | |
push: | |
branches: | |
- '2.6' | |
- '2.7' | |
- '2.8' | |
- 'main' | |
tags: | |
- v* | |
paths: | |
- '.github/workflows/macosx_cpn.yml' | |
- 'companion/**' | |
- 'tools/build-companion.sh' | |
pull_request: | |
branches: | |
- '2.6' | |
- '2.7' | |
- '2.8' | |
- 'main' | |
paths: | |
- '.github/workflows/macosx_cpn.yml' | |
- 'companion/**' | |
- 'tools/build-companion.sh' | |
workflow_dispatch: | |
env: | |
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) | |
BUILD_TYPE: Release | |
QT_VERSION: "5.12.9" | |
jobs: | |
build: | |
# The CMake configure and build commands are platform agnostic and should work equally | |
# well on Windows or Mac. You can convert this to a matrix build if you need | |
# cross-platform coverage. | |
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix | |
runs-on: macos-11 | |
steps: | |
- name: Select XCode version | |
uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: '11.7' | |
- name: Check out the repo | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Setup Python 3.9 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.9' | |
- name: Create Build Environment | |
# Some projects don't allow in-source building, so create a separate build directory | |
# We'll use this as our working directory for all subsequent commands | |
run: cmake -E make_directory ${{github.workspace}}/build | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v3 | |
with: | |
version: ${{ env.QT_VERSION }} | |
setup-python: 'false' | |
- name: Install dependencies | |
run: python3 -m pip install --upgrade pip Pillow lz4 clang jinja2 | |
- name: Patch GitHub macOS build | |
run: brew install pkg-config | |
- name: Install libusb | |
run: wget https://github.com/libusb/libusb/releases/download/v1.0.20/libusb-1.0.20.tar.bz2 && | |
export MACOSX_DEPLOYMENT_TARGET=10.9 && | |
tar xfv libusb-1.0.20.tar.bz2 && | |
cd libusb-1.0.20 && | |
./configure && | |
make install && | |
cd .. | |
- name: Install dfu-util | |
run: wget https://downloads.sourceforge.net/project/dfu-util/dfu-util-0.9.tar.gz && | |
tar xfv dfu-util-0.9.tar.gz && | |
cd dfu-util-0.9 && | |
./configure && | |
make install | |
- name: Install SDL2 | |
run: brew install SDL2 | |
- name: Build | |
working-directory: ${{github.workspace}} | |
shell: bash | |
run: | | |
mkdir output && \ | |
tools/build-companion.sh "$(pwd)" "$(pwd)/output/" | |
- name: Compose release filename | |
# https://stackoverflow.com/questions/58033366/how-to-get-current-branch-within-github-actions | |
run: echo "artifact_name=edgetx-cpn-osx-${GITHUB_REF##*/}" >> $GITHUB_ENV | |
- name: Archive production artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: "${{ env.artifact_name }}" | |
path: ${{github.workspace}}/output | |
retention-days: 15 |