@@ -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'
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
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
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