It uses some stuff from the wiki page, and Delyon's ModDB tutorial
It's probably pretty messy since I'm not very good at making tutorials.
Things that will be required (just dump it all into a folder somewhere)
NASM v2.0+ (2.11 linked)
FMOD Ex v4.26.36
Platform SDK
February 2010 DirectX SDK
CMake
Visual Studio Express 2013 for Windows Desktop
The GZDoom source code (put it in some directory like C:\GZDoomSrc\source)
1. Install Visual Studio Express 2013
2. Install NASM
3. Install FMOD Ex
4. Install the Platform SDK, but when prompted to choose what to install, ONLY choose the following (image from Delyon's tutorial):
5. Install the DirectX SDK
6. Install and run CMake
7. In the box labeled "Where is the source code:" point it to the directory where you put the source code. (eg C:\GZDoomSrc\source)
8. In the box labeled "Where to build the binaries:" create a subdirectory in the path to the source code to contain the build files (eg C:\GZDoomSrc\source\Release)
9. Click the Configure button at the bottom of the window. If the build directory does not exist, it will ask to create it. Let it.
10. When asked which generator to use, pick "Visual Studio 12"
11. After it has finished configuring, most of it should be correct/already filled in, but some stuff might require changing:
Code: Select all
CMAKE_BUILD_TYPE: This defaults to Debug. You probably want to change it to Release.
DYN_FLUIDSYNTH: If you want support for fluidsynth.dll, check this.
FMOD_INCLUDE_DIR: Make sure this points to *Where you installed FMOD*/api/inc
FMOD_LIBRARY: Make sure this points to *Where you installed FMOD*/api/lib/libfmodex.a
13. Now press "Generate" and wait for it to complete.
14. Browse to "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include" and open up "intrin.h" in notepad.
15. Change the following two lines:
Code: Select all
__MACHINEI(unsigned char _interlockedbittestandset(long volatile *a, long b))
__MACHINEI(unsigned char _interlockedbittestandreset(long volatile *a, long b))
Code: Select all
//__MACHINEI(unsigned char _interlockedbittestandset(long volatile *a, long b))
//__MACHINEI(unsigned char _interlockedbittestandreset(long volatile *a, long b))
17. Hit "F7" and wait for GZDoom to build. When it's done, the compiled binary should be located in "C:\GZDoomSrc\Release\Release"