ci: produce deployable macOS arm64 Qt app bundle
This commit is contained in:
parent
76c706af36
commit
a3fe86abcd
@ -23,22 +23,27 @@ jobs:
|
|||||||
- name: Configure + build
|
- name: Configure + build
|
||||||
run: |
|
run: |
|
||||||
set -eu
|
set -eu
|
||||||
cmake -S . -B build-out -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$(brew --prefix qt)"
|
QT_PREFIX="$(brew --prefix qt)"
|
||||||
|
cmake -S . -B build-out -G Ninja \
|
||||||
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
|
-DCMAKE_PREFIX_PATH="$QT_PREFIX" \
|
||||||
|
-DCMAKE_OSX_ARCHITECTURES=arm64
|
||||||
cmake --build build-out --parallel "$(sysctl -n hw.ncpu)"
|
cmake --build build-out --parallel "$(sysctl -n hw.ncpu)"
|
||||||
|
|
||||||
- name: Pack artifacts
|
- name: Deploy Qt bundle and pack artifacts
|
||||||
run: |
|
run: |
|
||||||
set -eu
|
set -eu
|
||||||
rm -rf artifacts
|
rm -rf artifacts
|
||||||
mkdir -p artifacts
|
mkdir -p artifacts
|
||||||
if [ -d build-out/qt_tray_demo.app ]; then
|
APP_PATH="build-out/qt_tray_demo.app"
|
||||||
tar -C build-out -czf artifacts/qt_tray_demo-macos-arm64-run${{ github.run_number }}.app.tar.gz qt_tray_demo.app
|
[ -d "$APP_PATH" ] || { echo 'No .app produced (expected qt_tray_demo.app)'; exit 1; }
|
||||||
elif [ -f build-out/qt_tray_demo ]; then
|
|
||||||
cp build-out/qt_tray_demo artifacts/qt_tray_demo-macos-arm64-run${{ github.run_number }}
|
QT_PREFIX="$(brew --prefix qt)"
|
||||||
chmod +x artifacts/qt_tray_demo-macos-arm64-run${{ github.run_number }}
|
"$QT_PREFIX/bin/macdeployqt" "$APP_PATH" -dmg
|
||||||
else
|
|
||||||
echo 'No Qt macOS output found';
|
tar -C build-out -czf "artifacts/qt_tray_demo-macos-arm64-run${{ github.run_number }}.app.tar.gz" qt_tray_demo.app
|
||||||
exit 1
|
if ls -1 build-out/*.dmg >/dev/null 2>&1; then
|
||||||
|
cp build-out/*.dmg artifacts/
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Upload artifacts
|
- name: Upload artifacts
|
||||||
|
|||||||
@ -8,7 +8,7 @@ set(CMAKE_AUTOUIC ON)
|
|||||||
|
|
||||||
find_package(Qt6 REQUIRED COMPONENTS Widgets)
|
find_package(Qt6 REQUIRED COMPONENTS Widgets)
|
||||||
|
|
||||||
add_executable(qt_tray_demo
|
add_executable(qt_tray_demo MACOSX_BUNDLE
|
||||||
src/main.cpp
|
src/main.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user