Skip to content

Add MinGW Windows packaging support - #5308

Open
liuliuzo wants to merge 1 commit into
redis:2022from
liuliuzo:codex/windows-desktop-build
Open

Add MinGW Windows packaging support#5308
liuliuzo wants to merge 1 commit into
redis:2022from
liuliuzo:codex/windows-desktop-build

Conversation

@liuliuzo

@liuliuzo liuliuzo commented Aug 1, 2026

Copy link
Copy Markdown

Summary

  • add configurable MinGW dependency paths for Windows builds while preserving the existing MSVC configuration
  • allow an isolated Python 3.8 root and preserve the RESP application version when embedding PyOtherSide
  • fix the NSIS registry key and support configurable payload/output paths and optional VC runtime installation
  • correct qt.conf so packaged plugins and QML modules are resolved from the application directory

Validation

  • built resp.exe with Qt 5.15.2, MinGW 8.1 and Python 3.8
  • verified all packaged EXE/DLL/PYD imports have no unresolved non-system DLLs
  • launched the portable application for 15 seconds with PATH limited to Windows system directories
  • generated the NSIS installer and validated the portable ZIP archive

The generated Windows binaries are local artifacts and are not included in this PR.


Note

Low Risk
Changes are limited to build and installer configuration; the registry key update may affect alignment with prior installs but does not touch application runtime logic.

Overview
Adds a MinGW (win32-g++) link path in 3rdparty.pri that requires WINDOWS_MINGW_BUILD_ROOT and MINGW_ROOT and pulls static zlib/lz4/zstd/snappy/brotli from those trees, while MSVC win32* behavior stays on the existing NuGet-style libs.

Windows Python embedding can use an optional PYTHON_ROOT instead of a fixed C:\Python38-x64 path. Including PyOtherSide no longer overwrites the app VERSION for PYOTHERSIDE_VERSION; the RESP version is saved and restored around the subproject include.

NSIS packaging fixes the registry key to SOFTWARE\RESP.app, allows SOURCE_DIR / OUTPUT_FILE, and SKIP_VCREDIST for MinGW builds that do not need the MSVC runtime. qt.conf now uses a local prefix with explicit plugins and qml paths so a portable directory layout resolves Qt assets correctly.

Reviewed by Cursor Bugbot for commit f93d7d5. Bugbot is set up for automated code reviews on this repo. Configure here.

@liuliuzo
liuliuzo marked this pull request as ready for review August 1, 2026 09:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant