Table of Contents

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:

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)

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