====== 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