Skip to content

Commit 7db800c

Browse files
authored
Update qt6-tripack.yml
1 parent 51c5651 commit 7db800c

1 file changed

Lines changed: 29 additions & 14 deletions

File tree

.github/workflows/qt6-tripack.yml

Lines changed: 29 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -48,45 +48,54 @@ jobs:
4848
-DWITH_WEBSOCKET=ON -DWITH_QTKEYCHAIN=ON \
4949
-DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_HINT}" \
5050
-S ..
51+
5152
- name: Build (Ubuntu)
5253
if: runner.os == 'Linux'
5354
run: cmake --build build --parallel
55+
5456
- name: Package (Ubuntu)
5557
if: runner.os == 'Linux'
5658
run: cd build && cpack
59+
5760
- name: Upload (Ubuntu)
5861
if: runner.os == 'Linux'
5962
uses: actions/upload-artifact@v4
6063
with:
6164
name: Mmapper-Token-Beta-Linux
6265
path: artifact/*
6366

64-
# ---------- macOS ----------
67+
# ---------- macOS ----------
6568
- name: Install deps (macOS)
6669
if: runner.os == 'macOS'
6770
run: |
6871
brew update
6972
brew install cmake ninja qt qtkeychain openssl@3
70-
# Export prefixes (used by CMake)
73+
# Prefixes for CMake
7174
echo "QT_PREFIX=$(brew --prefix qt)" >> $GITHUB_ENV
7275
echo "QTKEYCHAIN_PREFIX=$(brew --prefix qtkeychain)" >> $GITHUB_ENV
7376
echo "OPENSSL_ROOT_DIR=$(brew --prefix openssl@3)" >> $GITHUB_ENV
77+
# Ensure Qt tools are available to cmake/macdeployqt
78+
echo "$(brew --prefix qt)/bin" >> $GITHUB_PATH
7479
75-
# Put our wrapper first on PATH, then Qt’s bin
80+
- name: Patch macdeployqt wrapper (macOS)
81+
if: runner.os == 'macOS'
82+
shell: bash
83+
run: |
84+
set -e
7685
WRAP_DIR="$GITHUB_WORKSPACE/macwrap/bin"
7786
mkdir -p "$WRAP_DIR"
78-
cat > "$WRAP_DIR/macdeployqt" <<'SH'
79-
#!/usr/bin/env bash
80-
set -e
81-
qtbin="$(brew --prefix qt)/bin"
82-
real="$qtbin/macdeployqt"
83-
lib_default="$(brew --prefix qt)/lib"
84-
# Always append a safe -libpath; if one was already provided, the last wins.
85-
exec "$real" "$@" -libpath "$lib_default"
86-
SH
87+
# Write a small wrapper that ALWAYS appends a safe -libpath
88+
printf '%s\n' \
89+
'#!/usr/bin/env bash' \
90+
'set -e' \
91+
'qtbin="$(brew --prefix qt)/bin"' \
92+
'real="$qtbin/macdeployqt"' \
93+
'lib_default="$(brew --prefix qt)/lib"' \
94+
'exec "$real" "$@" -libpath "$lib_default"' \
95+
> "$WRAP_DIR/macdeployqt"
8796
chmod +x "$WRAP_DIR/macdeployqt"
88-
echo "$WRAP_DIR" >> $GITHUB_PATH
89-
echo "$(brew --prefix qt)/bin" >> $GITHUB_PATH
97+
# Prepend our wrapper dir so it’s chosen before the real macdeployqt
98+
echo "$WRAP_DIR" >> "$GITHUB_PATH"
9099
91100
- name: Set package name (Intel)
92101
if: matrix.os == 'macos-13'
@@ -154,6 +163,7 @@ SH
154163
- name: MSVC env
155164
if: runner.os == 'Windows'
156165
uses: ilammy/msvc-dev-cmd@v1
166+
157167
- name: Install Qt (Windows)
158168
if: runner.os == 'Windows'
159169
uses: jurplel/install-qt-action@v4
@@ -163,10 +173,12 @@ SH
163173
target: desktop
164174
arch: win64_msvc2019_64
165175
modules: 'qtwebsockets'
176+
166177
- name: Set package name (Windows)
167178
if: runner.os == 'Windows'
168179
shell: bash
169180
run: echo "PACK_NAME=Mmapper-Token-Beta-Windows" >> $GITHUB_ENV
181+
170182
- name: Configure (Windows)
171183
if: runner.os == 'Windows'
172184
shell: pwsh
@@ -182,14 +194,17 @@ SH
182194
-DWITH_WEBSOCKET=ON -DWITH_QTKEYCHAIN=ON `
183195
-DCMAKE_PREFIX_PATH="$env:QT_ROOT_DIR" `
184196
-S ..
197+
185198
- name: Build (Windows)
186199
if: runner.os == 'Windows'
187200
shell: pwsh
188201
run: cmake --build build --parallel
202+
189203
- name: Package (Windows)
190204
if: runner.os == 'Windows'
191205
shell: pwsh
192206
run: cd build; cpack
207+
193208
- name: Upload (Windows)
194209
if: runner.os == 'Windows'
195210
uses: actions/upload-artifact@v4

0 commit comments

Comments
 (0)