h1. Compiling in Windows {{>toc}} *NOTE*: there is an experimental automated building pack for Windows that uses a portable version of the tools mentioned in this article. If you are planning on contributing to the project, it is best to follow the tutorial. If you are just interested in running and testing the game, you can find the build system "here":http://forums.xonotic.org/showthread.php?tid=666. h2. Prerequisites h3. MinGW / MSYS You first need to install a compiler and a shell environment to run the build scripts. On windows, we use MinGW and MSYS. Those two work together, so you have to install MinGW first. It can be found "here":http://sourceforge.net/projects/mingw/files/ . Run the automated installer, and do not check any of the optional components, all you need from MinGW is its C compiler, which is always installed. *Important*: install MinGW in a path containing no spaces. The default path is good: c:\mingw Next, you need to install MSYS. The recent versions don't have an installer, so it is easier to install "version 1.0.11":http://downloads.sourceforge.net/mingw/MSYS-1.0.11.exe . *Important*: again, the installation path should contain no spaces. The default is c:\msys After it is done installing, a terminal will pop up, asking you to run the post-install script. Answer yes, and when it asks for the MinGW install path, input it as c:/mingw . h3. msysGit You will need msysGit to download the Xonotic source files from the repositories and keep them up to date. You can get msysGit "here":http://code.google.com/p/msysgit/ . Download the "Full installer for official Git" file. The default install options should be good. h2. Downloading the Xonotic sources Open git bash, and type those two commands:
cd /c/msys/1.0
git clone git://git.xonotic.org/xonotic/xonotic.git
(Tip: you can paste text in the console with the Shift-Insert keyboard shortcut) This will install the Xonotic root repository in c:\msys\1.0\xonotic When the download is done, type
cd xonotic
./all update
This will download approximately 2 gigabytes of data, and use 4 gigabytes in disk space. This will take a while, but you can already get started on the next step. h2. Setting up the environment To run the "all" script and compile Xonotic, you need to set up MSYS to be able to use msysGit from it. The /etc/profile file in the msys directory has to be modified to include msysGit in its search path. To do this, use a text editor that supports Unix line endings (LF), for example "Notepad++":http://notepad-plus-plus.org/ . If your text editor shows a two-line file, it probably does not support Unix line endings. Look for those lines (lines 19 to 20 in MSYS 1.0.11)
if [ $MSYSTEM == MINGW32 ]; then
  export PATH=".:/usr/local/bin:/mingw/bin:/bin:$PATH"
And change them to:
PATH="/c/Program Files/Git/bin:$PATH"
if [ $MSYSTEM == MINGW32 ]; then
  export PATH=".:/usr/local/bin:/mingw/bin:/bin:$PATH"
*NOTE*: If you're using a 64-bit Windows, it is possible that Git was installed in c:\Program Files (x86)\Git. The inserted line in the profile file should then be:
PATH="/c/Program Files (x86)/Git/bin:$PATH"
Alternatively, you can get the modified profile file in the attachments at the bottom of this page. h2. Compiling and running the game When the cloning of all the repositories is done, open MSYS and type:
cd /xonotic
./all compile
This will compile the engine, QC compiler, and game progs. When this is done, you can then run the game with:
./all run
h2. Updating To update, all you need to do is open MSYS and:
cd /xonotic
./all update
./all compile
The most recent Xonotic development version is then ready to run.