#summary Instructions for building Hedgewars on Windows #labels Phase-Implementation,Phase-Design,Phase-Support = Building on Windows = == Things to download == First of all, figure out whether your system is a 32-bit or a 64-bit system. You can use the guide at [http://windows.microsoft.com/en-US/windows7/find-out-32-or-64-bit]. You will only be able to make a 64-bit build on a 64-bit system. 32-bit builds can be made on both 32-bit and 64-bit systems. == Required Tools == Choose either 32-bit or 64-bit depending on your system and which build you want to make. # CMake: click either *Windows win64-x64 Installer* or *Windows win32-x86 Installer* * Link: https://cmake.org/download/ # Visual Studio: click *Download Visual Studio → Community 2019* (earlier version starting from Community 2015 Update 3 might also work) * Link: https://visualstudio.microsoft.com/ # Vcpkg * Link: https://github.com/Microsoft/vcpkg # !FreePascal * 32-bit compiler: click *Windows 32-bit* * Link: https://www.freepascal.org/download.html * 64-bit compiler (necessary for 64-bit builds, bundled with Lazarus IDE): click *Windows (64-bit)* * Link: https://www.lazarus-ide.org/index.php?page=downloads # Mercurial: pick one (!TortoiseHg has a GUI and is more user-friendly) * !TortoiseHg: Chose one based on your OS version * Link: https://tortoisehg.bitbucket.io/ * Command-line mercurial * Link: http://mercurial.selenic.com/downloads/ == Setup == # Install CMake, but please *ensure* you select "Add CMake to the system PATH for all users", so you can run CMake directly from the command line. # Install !FreePascal / Lazarus IDE. Add the directory containing `fpc.exe` to the `PATH` environment variable (either user or system). # Install !VisualStudio, ensuring the *Workloads → Desktop development with C++* option is selected. # Install Vcpkg by following the instructions under *Quick Start* section on the project page. If you don't have Git, use the *Clone or download → Download ZIP* option and extract the ZIP file. Create `VCPKG_ROOT` environment variable pointing to the directory you've clones/extracted it to. # Install !TortoiseHg / Mercurial # Restart the computer # Download the Hedgewars source code: # Using !TortoiseHg: * Right-click in any folder on your computer * Select Tortoise HG → Clone. * In the _Source_ textbox, enter: https://hg.hedgewars.org/hedgewars/ * Press "clone" # Using command-line Mercurial * If you have Windows 7 or later, skip the next 3 steps, and instead, use Shift + Right-click in the folder where you want to download the source. * Start _Run..._ ( Press Windows key + R, or click on the Start menu, then on "Run ..." ) * Enter: `cmd.exe` * Navigate to where you want to download the source * Type and execute (The initial clone of the repository will take a while): `hg clone https://hg.hedgewars.org/hedgewars/ trunk` # Run Vckpg in the command line to build the necessary libraries (this will also take a while, especially for Qt). The command is: * For 32-bit builds: `./vcpkg.exe install sdl2 sdl2-image sdl2-ttf sdl2-mixer sdl2-mixer[libvorbis] physfs openssl qt5-base qt5-tools ffmpeg` * For 64-bit builds: `./vcpkg.exe install sdl2:x64-windows sdl2-image:x64-windows sdl2-ttf:x64-windows sdl2-mixer:x64-windows sdl2-mixer[libvorbis]:x64-windows physfs:x64-windows openssl:x64-windows qt5-base:x64-windows qt5-tools:x64-windows ffmpeg:x64-windows` # Build Hedgewars * Run the Developer Command Prompt for VS 2019 (or other installed version) from the Start menu (if you want Hedgewars to install to the default location in `C:\Program Files (x86)`, run it as administrator). * For 64-bit builds, in the dev command prompt run the following command (not necessary for 32-bit builds): `VC\Auxiliary\Build\vcvarsall.bat amd64` * Navigate to `\tools` where `` is the directory where you cloned the repository source to. * Run `build_vcpkg.bat` script # After building, you can run Hedgewars from the installed location (default is `C:\Program Files (x86)\hedgewars\hedgewars.exe`) == Caveats == # The linker from 64-bit FPC included in the Lazarus IDE might occasionally fail, producing `hwengine.exe` filled with zeroes. If this happens, just delete it and re-run `tools\build_vcpkg.bat` again (or run `nmake hedgewars` in the root directory to only rebuild the engine)