Install compiler tools: - Go to http://www.msys2.org/ - Download and run msys2-i686-20180531.exe - Start an msys mingw64 32-bit shell and type: 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 - Add c:\msys32\mingw64\bin to path Install PERL: - http://strawberryperl.com/releases.html - Download portable 32 bit edition - Extract to C:\perl - Add C:\perl\perl\bin to path. Download and extract CrossFire source to e.g. c:\cf. - https://sourceforge.net/projects/crossfire/files/crossfire-client/ Install CMake: - https://cmake.org/download/ - cmake-3.13.3-win64-x64.msi Run CMake: - Set source code directory, e.g. c:/cf - Set binary directory, e.g. c:/cf/build - Click 'Configure' and choose 'MinGW Makefiles' - Change CMAKE_INSTALL_PREFIX to something reasonable - (C:/Program Files (x86)/... is probably read only). - If CMake finds wrong include directories, e.g. from Visual Studio, change them manually to 'C:\msys32\mingw32\include' - Click 'generate'. - If configuring goes wrong, delete directory c:/cf/build/CMakeFiles and try again. Compile: - Open msys32 32-bit shell - Go to c:/cf/build - Run 'mingw32-make' Create release package: - Run 'mingw32-make install', though it doesn't seem to do much. - Make directory 'release' - Copy bin/*.exe to release/. - Copy directory 'share' to release/. - Copy directory 'lib' from the CF 1.72.0 distribution to release/. (Is this needed? Why?) - Find the DLLs: - Most of the DLLs can be found in c:/msys32/bin. - Find the rest of the DLLs from the 1.72.0 release. - Find any missing DLLs from official runtime distributions. - If DLLs are still missing, shed some tears. - I had to rename libpng16_16.dll to libpng14_14.dll. I have no idea what could have required libpng14, and libpng14 has serious vulnerabilities too. (Renaming DLLs is not safe either.)