====== Windows client builds ======
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.
====== Links ======
to various Windows build instructions:
[[wiki:data:pages:crossfire_release_guide?s[]=windows&s[]=build|Release Guide -> Windows]] (2014 or older)
[[user:cavesomething:crosscompiling_for_windows?s[]=windows&s[]=build|CaveSomething's CMake instructions]] (2010 or older)
[[server:server_compiling?s[]=visual&s[]=studio#requirements1|Server compiling with Visual Studio 6]] (contains passing references to gtk client builds)
[[http://xob.kapsi.fi/~makegho/trash/crossfire-win32.txt|MinGW and CMake instructions from ~2018]] (External on xob.kapsi.fi/~makegho)
====== My Notes ======
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