mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-11-08 02:53:25 -08:00
The Windows payload is assembled by globbing every *.dll out of the build output directories, so nothing but luck decides whether a module the client links statically - Qt6Multimedia.dll, Qt6QuickWidgets.dll - reaches the installer at all. A module that is left out is invisible until a user installs an update and the client then refuses to start, with "The code execution cannot proceed because Qt6Multimedia.dll was not found" or a missing procedure entry point in a Qt6QuickWidgets.dll carried over from the previous version. Derive the required list from SERVATRICE_QT_MODULES, COCKATRICE_QT_MODULES and ORACLE_QT_MODULES, the same module lists the targets are actually built against, so it cannot drift from what the binaries need, and write it next to the CMake cache as required-qt-runtime.txt. Add the platform plugin, without which the client cannot start at all. Assert it in the existing 7-Zip pass that already rejects build-tree artifacts, comparing exact relative paths so a same-named file in the wrong directory does not satisfy a requirement, and normalizing the archive's own separators so it does not matter which one NSIS chose. Missing manifest, missing entry or missing 7-Zip-independent failures all stop the build rather than warn, which is the whole point: the previous check already failed hard for artifacts, and a warning here is what let a broken package ship. |
||
|---|---|---|
| .. | ||
| Arch | ||
| Debian12 | ||
| Debian13 | ||
| Fedora43 | ||
| Fedora44 | ||
| Servatrice_Debian12 | ||
| Ubuntu24.04 | ||
| Ubuntu26.04 | ||
| compile.sh | ||
| docker.sh | ||
| lint_cpp.sh | ||
| macos.entitlements | ||
| name_build.sh | ||
| prep_release.sh | ||
| release_template.md | ||
| resolve_latest_aqt_qt_version.sh | ||
| thin_macos_qtlib.sh | ||
| update_translation_source_strings.sh | ||
| update_translation_source_strings_template.md | ||