chore: migrate to qt tray for all platforms#5260
Conversation
Bundle ReportBundle size has no change ✅ |
0a970e1 to
2d4b05e
Compare
5f69700 to
f6f0e67
Compare
Introduce cmake/packaging/qt.cmake with sunshine_find_qt_tool and sunshine_require_qt_tool to locate Qt deployment tools. Wire macdeployqt into macos packaging (run during install to fix up .app bundles) when the tray backend is enabled, and integrate windeployqt into Windows packaging: add post-build deploy commands for binaries and run windeployqt at install time with curated options. These changes ensure Qt runtimes are bundled for the tray::tray backend on macOS and Windows.
Update Windows CI linkage check to avoid false positives by computing binary_dir and passing it into awk. When a linked DLL originates from a toolchain bin path, awk now checks for the DLL next to the binary (binary_dir/$1) and suppresses the warning if the file is present. Also ensure 'not found' cases are printed and skipped. This prevents reporting DLLs that are intentionally bundled with the binary.
Introduce a CMake helper to deploy MSYS2/MinGW runtime DLLs discovered via ldd and cygpath. Added cmake/packaging/windows_runtime_deps.cmake which requires SUNSHINE_RUNTIME_TARGET and SUNSHINE_RUNTIME_OUTPUT_DIR, uses ldd to enumerate dependencies, converts MSYS paths with cygpath, copies needed DLLs into the output dir, and recursively processes newly copied DLLs. Hooked this script into existing packaging: qt.cmake's deploy function now invokes the script for the given target, and windows.cmake runs it after windeployqt and fails the build on errors. This ensures MSYS2 runtime DLLs reported by ldd are bundled with the application.
f6f0e67 to
4fe76cc
Compare
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #5260 +/- ##
=========================================
Coverage ? 14.68%
=========================================
Files ? 99
Lines ? 21901
Branches ? 10022
=========================================
Hits ? 3217
Misses ? 16943
Partials ? 1741
Flags with carried forward coverage won't be shown. Click here to find out more. Continue to review full report in Codecov by Harness.
|
|
@ReenigneArcher Since this might take a bit longer to fully implement, would it be possible to bump |
|
@Kishi85 yes, no problem. If you have any ideas how to properly package this for Windows and macOS that would be great. What I've attempted here is not great. Far too many files added for Windows and not working for macOS dmg. |



Description
Migrates to QT tray on all platforms. Do not merge until after has merged. LizardByte/tray#145
TODO:
Screenshot
Issues Fixed or Closed
Roadmap Issues
Type of Change
Checklist
AI Usage