As of Aug 2021, I finally got a stable Windows GTK client build method. I submitted a Powershell script which is reasonably well documented in crossfire-client/gtk-v2/win32/autobuild.ps1
The script and instructions are specifically for x86_64 builds. Suites like MSYS2 and MinGW are deprecating support for pure 32-bit x86, so producing 32-bit binaries maybe not be feasible moving forward. Regardless, if you can get the MinGW/MSYS2 toolchain working, the powershell script can probably be adapted to work.
to various Windows build instructions:
Release Guide -> Windows (2014 or older)
CaveSomething's CMake instructions (2010 or older)
Server compiling with Visual Studio 6 (contains passing references to gtk client builds)
MinGW and CMake instructions from ~2018 (External on xob.kapsi.fi/~makegho)
If trying to adapt between 32-bit and 64-bit, the package names may change. A few examples that may help or hurt:
pacman -S mingw-w64-i686-gcc pacman -S mingw-w64-i686-make pacman -S mingw-w64-i686-pkg-config pacman -S mingw-w64-i686-vala pacman -S mingw-w64-i686-SDL_image pacman -S mingw-w64-i686-SDL_mixer
I recommend using perl from MSYS2, rather than a third party Perl. If you want to anyway, a few tips:
Install PERL:
http://strawberryperl.com/releases.html
Download portable 32 bit edition
Extract to C:\perl
Add C:\perl\perl\bin to path.
Note that this can cause some issues, especially if CMake tries to use perl-supplied components instead of those from MSYS/MinGW. But, perl is still needed “for def-keys and msgtypes generation”
If CMake fails near a pkgconfig or gtk/gio item, check to make sure that it hasn’t defaulted the PKG_CONFIG_EXECUTABLE to a perl directory. If so, revert it to the msys32 one, probably C:\msys32\mingw32\bin\pkg-config.exe
Other misc bits:
Get the glib helper program from C:\msys32\mingw32\bin\gspawn-win32-helper-console.exe, and copy it to release\ Not needed since r21700