|
1 |
| ---- |
2 |
| -name: 🍎 Build - MacOS Qt6 |
3 |
| -on: |
4 |
| - # push: |
5 |
| - # branches: |
6 |
| - # - main |
7 |
| - # pull_request: |
8 |
| - # release: |
9 |
| - # types: ['published'] |
10 |
| - workflow_dispatch: |
11 |
| - |
12 |
| -concurrency: |
13 |
| - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} |
14 |
| - cancel-in-progress: true |
15 |
| - |
16 |
| -jobs: |
17 |
| - build: |
18 |
| - strategy: |
19 |
| - matrix: |
20 |
| - include: |
21 |
| -# - os: macos-13 |
22 |
| -# triplet: x64-osx |
23 |
| -# deployment-target: "10.15" |
24 |
| - - os: macos-14 |
25 |
| - triplet: arm64-osx-dynamic-release |
26 |
| - deployment-target: "11.0" |
27 |
| - name: build (macos) |
28 |
| - runs-on: ${{ matrix.os }} |
29 |
| - |
30 |
| - steps: |
31 |
| - - name: 🐣 Checkout |
32 |
| - uses: actions/checkout@v4 |
33 |
| - |
34 |
| - - name: 🐩 Install CMake and Ninja |
35 |
| - uses: lukka/get-cmake@latest |
36 |
| - with: |
37 |
| - # Pin to specific version to avoid rebuilding too often |
38 |
| - # Also helps to avoid spurious build failures like https://github.com/qgis/QGIS/pull/47098 |
39 |
| - cmakeVersion: 3.30.4 |
40 |
| - |
41 |
| - - name: 🎡 Setup vcpkg |
42 |
| - id: setup-vcpkg |
43 |
| - uses: ./.github/actions/setup-vcpkg |
44 |
| - |
45 |
| - - name: 🔨 Prepare build env |
46 |
| - run: | |
47 |
| - brew install automake bison flex gnu-sed create-dmg autoconf-archive nasm libtool fdupes |
48 |
| - echo $(brew --prefix bison)/bin >> $GITHUB_PATH |
49 |
| - echo $(brew --prefix flex)/bin >> $GITHUB_PATH |
50 |
| - echo $(brew --prefix libtool)/bin >> $GITHUB_PATH |
51 |
| -
|
52 |
| - - uses: actions/setup-python@v5 |
53 |
| - with: |
54 |
| - python-version: '3.11' |
55 |
| - |
56 |
| - - name: 🍭 Setup XCode |
57 |
| - uses: maxim-lobanov/[email protected] |
58 |
| - with: |
59 |
| - xcode-version: latest-stable |
60 |
| - |
61 |
| - - name: 🌱 Install dependencies and generate project files |
62 |
| - run: | |
63 |
| - echo "VCPKG_ROOT: ${VCPKG_ROOT}" |
64 |
| -
|
65 |
| - # Install first only with binarycaching, then deduplicate binaries and replace copies with symlinks. |
66 |
| - # Nuget doesn't understand the symlink concept |
67 |
| - cmake -S . \ |
68 |
| - -G Ninja \ |
69 |
| - -B build \ |
70 |
| - -D WITH_VCPKG=ON \ |
71 |
| - -D BUILD_WITH_QT6=ON \ |
72 |
| - -D WITH_QTWEBKIT=OFF \ |
73 |
| - -D WITH_BINDINGS=ON \ |
74 |
| - -D QGIS_MACAPP_FRAMEWORK=OFF \ |
75 |
| - -D VCPKG_TARGET_TRIPLET="${{ matrix.triplet }}" \ |
76 |
| - -D VCPKG_HOST_TRIPLET="${{ matrix.triplet }}" \ |
77 |
| - -D VCPKG_INSTALL_OPTIONS="--only-binarycaching" \ |
78 |
| - -D NUGET_USERNAME=${{ github.actor }} \ |
79 |
| - -D NUGET_TOKEN=${{ secrets.GITHUB_TOKEN }} || true |
80 |
| -
|
81 |
| - fdupes -r -1 build/vcpkg_installed/arm64-osx-dynamic/lib | grep libQt | while read line; do master=""; for file in ${line[*]}; do if [[ "x${master}" == "x" ]]; then master=$file; else rm "${file}"; ln -s $(basename "${master}") "${file}"; fi; done; done |
82 |
| -
|
83 |
| - cmake -D VCPKG_INSTALL_OPTIONS="" build |
84 |
| -
|
85 |
| - - name: 📑 Upload vcpkg build logs |
86 |
| - uses: actions/upload-artifact@v4 |
87 |
| - if: failure() |
88 |
| - with: |
89 |
| - name: build-logs-${{ matrix.triplet }} |
90 |
| - path: | |
91 |
| - ${{ env.VCPKG_ROOT }}/buildtrees/**/*.log |
92 |
| -
|
93 |
| - - name: 📦 Create SDK |
94 |
| - if: github.event_name == 'workflow_dispatch' || github.event_name == 'release' |
95 |
| - run: | |
96 |
| - ./build/_deps/vcpkg-src/vcpkg export --zip --output-dir=./sdk --x-install-root=./build/vcpkg_installed --x-manifest-root=vcpkg |
97 |
| -
|
98 |
| - - name: 📤 Upload sdk |
99 |
| - if: github.event_name == 'workflow_dispatch' || github.event_name == 'release' |
100 |
| - uses: actions/upload-artifact@v4 |
101 |
| - with: |
102 |
| - name: kadas-albireo2-sdk-${{ matrix.triplet }} |
103 |
| - path: | |
104 |
| - sdk/vcpkg-export-*.zip |
105 |
| -
|
106 |
| - - name: 🌋 Build |
107 |
| - run: | |
108 |
| - cmake --build build |
| 1 | +# --- |
| 2 | +# name: 🍎 Build - MacOS Qt6 |
| 3 | +# on: |
| 4 | +# # push: |
| 5 | +# # branches: |
| 6 | +# # - main |
| 7 | +# # pull_request: |
| 8 | +# # release: |
| 9 | +# # types: ['published'] |
| 10 | +# workflow_dispatch: |
| 11 | + |
| 12 | +# concurrency: |
| 13 | +# group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} |
| 14 | +# cancel-in-progress: true |
| 15 | + |
| 16 | +# jobs: |
| 17 | +# build: |
| 18 | +# strategy: |
| 19 | +# matrix: |
| 20 | +# include: |
| 21 | +# # - os: macos-13 |
| 22 | +# # triplet: x64-osx |
| 23 | +# # deployment-target: "10.15" |
| 24 | +# - os: macos-14 |
| 25 | +# triplet: arm64-osx-dynamic-release |
| 26 | +# deployment-target: "11.0" |
| 27 | +# name: build (macos) |
| 28 | +# runs-on: ${{ matrix.os }} |
| 29 | + |
| 30 | +# steps: |
| 31 | +# - name: 🐣 Checkout |
| 32 | +# uses: actions/checkout@v4 |
| 33 | + |
| 34 | +# - name: 🐩 Install CMake and Ninja |
| 35 | +# uses: lukka/get-cmake@latest |
| 36 | +# with: |
| 37 | +# # Pin to specific version to avoid rebuilding too often |
| 38 | +# # Also helps to avoid spurious build failures like https://github.com/qgis/QGIS/pull/47098 |
| 39 | +# cmakeVersion: 3.30.4 |
| 40 | + |
| 41 | +# - name: 🎡 Setup vcpkg |
| 42 | +# id: setup-vcpkg |
| 43 | +# uses: ./.github/actions/setup-vcpkg |
| 44 | + |
| 45 | +# - name: 🔨 Prepare build env |
| 46 | +# run: | |
| 47 | +# brew install automake bison flex gnu-sed create-dmg autoconf-archive nasm libtool fdupes |
| 48 | +# echo $(brew --prefix bison)/bin >> $GITHUB_PATH |
| 49 | +# echo $(brew --prefix flex)/bin >> $GITHUB_PATH |
| 50 | +# echo $(brew --prefix libtool)/bin >> $GITHUB_PATH |
| 51 | + |
| 52 | +# - uses: actions/setup-python@v5 |
| 53 | +# with: |
| 54 | +# python-version: '3.11' |
| 55 | + |
| 56 | +# - name: 🍭 Setup XCode |
| 57 | +# uses: maxim-lobanov/[email protected] |
| 58 | +# with: |
| 59 | +# xcode-version: latest-stable |
| 60 | + |
| 61 | +# - name: 🌱 Install dependencies and generate project files |
| 62 | +# run: | |
| 63 | +# echo "VCPKG_ROOT: ${VCPKG_ROOT}" |
| 64 | + |
| 65 | +# # Install first only with binarycaching, then deduplicate binaries and replace copies with symlinks. |
| 66 | +# # Nuget doesn't understand the symlink concept |
| 67 | +# cmake -S . \ |
| 68 | +# -G Ninja \ |
| 69 | +# -B build \ |
| 70 | +# -D WITH_VCPKG=ON \ |
| 71 | +# -D BUILD_WITH_QT6=ON \ |
| 72 | +# -D WITH_QTWEBKIT=OFF \ |
| 73 | +# -D WITH_BINDINGS=ON \ |
| 74 | +# -D QGIS_MACAPP_FRAMEWORK=OFF \ |
| 75 | +# -D VCPKG_TARGET_TRIPLET="${{ matrix.triplet }}" \ |
| 76 | +# -D VCPKG_HOST_TRIPLET="${{ matrix.triplet }}" \ |
| 77 | +# -D VCPKG_INSTALL_OPTIONS="--only-binarycaching" \ |
| 78 | +# -D NUGET_USERNAME=${{ github.actor }} \ |
| 79 | +# -D NUGET_TOKEN=${{ secrets.GITHUB_TOKEN }} || true |
| 80 | + |
| 81 | +# fdupes -r -1 build/vcpkg_installed/arm64-osx-dynamic/lib | grep libQt | while read line; do master=""; for file in ${line[*]}; do if [[ "x${master}" == "x" ]]; then master=$file; else rm "${file}"; ln -s $(basename "${master}") "${file}"; fi; done; done |
| 82 | + |
| 83 | +# cmake -D VCPKG_INSTALL_OPTIONS="" build |
| 84 | + |
| 85 | +# - name: 📑 Upload vcpkg build logs |
| 86 | +# uses: actions/upload-artifact@v4 |
| 87 | +# if: failure() |
| 88 | +# with: |
| 89 | +# name: build-logs-${{ matrix.triplet }} |
| 90 | +# path: | |
| 91 | +# ${{ env.VCPKG_ROOT }}/buildtrees/**/*.log |
| 92 | + |
| 93 | +# - name: 📦 Create SDK |
| 94 | +# if: github.event_name == 'workflow_dispatch' || github.event_name == 'release' |
| 95 | +# run: | |
| 96 | +# ./build/_deps/vcpkg-src/vcpkg export --zip --output-dir=./sdk --x-install-root=./build/vcpkg_installed --x-manifest-root=vcpkg |
| 97 | + |
| 98 | +# - name: 📤 Upload sdk |
| 99 | +# if: github.event_name == 'workflow_dispatch' || github.event_name == 'release' |
| 100 | +# uses: actions/upload-artifact@v4 |
| 101 | +# with: |
| 102 | +# name: kadas-albireo2-sdk-${{ matrix.triplet }} |
| 103 | +# path: | |
| 104 | +# sdk/vcpkg-export-*.zip |
| 105 | + |
| 106 | +# - name: 🌋 Build |
| 107 | +# run: | |
| 108 | +# cmake --build build |
0 commit comments