docs/Compilation.md
First of all, install Git for Windows from https://git-for-windows.github.io/.
Choose Use Git from the Windows command prompt. This isn't mandatory, so if you choose
Use Git from Git Bash only make sure you set the MPCHC_GIT variable in build.user.bat.
Download MSYS2 from http://www.msys2.org/. If you are on a 64-bit Operating System, which you should be, get the 64-bit version.
Install it on C:\MSYS\. You can always install it somewhere else, but these instructions
assume the aforementioned place.
Run msys2_shell.bat (if you didn't use the installer you must restart MSYS2 after first run).
Install the needed software by running these commands:
pacman -Syu
pacman -Su
pacman -S make pkg-config
Note that this is the bare minimum, you can install more packages that can be useful to you.
Download YASM and save it as yasm.exe in C:\MSYS\usr\bin:
Download and extract MinGW to C:\MSYS\mingw\ from http://files.1f0.de/mingw/
(you might use the one that ships with MSYS2, but we recommend this one)
Create a file named build.user.bat in C:\mpc-hc\ containing the following entries,
adapted for your system:
@ECHO OFF
SET "MSYSTEM=MINGW32"
SET "MPCHC_MSYS=C:\MSYS"
SET "MPCHC_MINGW32=%MPCHC_MSYS%\mingw"
SET "MPCHC_MINGW64=%MPCHC_MINGW32%"
REM You can set `MSYS2_PATH_TYPE` here or in environment variables so that Git is properly added to your `PATH`
REM SET "MSYS2_PATH_TYPE=inherit"
REM `MPCHC_GIT` is optional to set if you chose to add it in `PATH` when installing it and have set `MSYS2_PATH_TYPE`
SET "MPCHC_GIT=C:\Program Files\Git"
REM Optional, if you plan to modify the translations, install Python 2.7 or set the variable to its path
SET "MPCHC_PYTHON=C:\Python27"
REM Optional, If you want to customize the Windows SDK version used, set the variable
SET "MPCHC_WINSDK_VER=8.1"
SET "MPCHC_VS_PATH=%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\"
Use Git to clone MPC-HC's repository to C:\mpc-hc (or anywhere else you like).
Download Git from https://git-for-windows.github.io/
Run:
git clone --recursive https://github.com/mpc-hc/mpc-hc.git
or
git clone https://github.com/mpc-hc/mpc-hc.git
git submodule update --init --recursive
If a submodule update fails, try running:
git submodule foreach --recursive git fetch --tags
then run the update again
git submodule update --init --recursive
Note that you can add -b master to the git clone command if you want to get the latest
stable version instead of the latest development version
Open the solution file C:\mpc-hc\mpc-hc.sln. Change the solution's configuration to Release (in the toolbar).
Press F7 to build the solution.
You now have mpc-hc.exe under C:\mpc-hc\bin\mpc-hc_x86
Open the solution file C:\mpc-hc\mpciconlib.sln
Press F7 to build the solution.
You now have mpciconlib.dll under C:\mpc-hc\bin\mpc-hc_x86
Open the solution file C:\mpc-hc\mpcresources.sln
Build BuildAll project.
You now have mpcresources.XX.dll under C:\mpc-hc\bin\mpc-hc_x86\Lang
Alternatively, you can use build.bat that can build everything for you (run: build.bat help for more info)
Download Inno Setup Unicode v5.5.9 or newer from http://www.jrsoftware.org/isdl.php. Install everything and then go to C:\mpc-hc\distrib, open mpc-hc_setup.iss with Inno Setup, read the first comments in the script and compile it.