explain autobuilds
[xonotic/xonotic.wiki.git] / Outdated-Compiling-on-Windows.md
1 Compiling in Windows
2 ====================
3
4 **THIS IS OUTDATED**: the versions of MinGW and MSYS are not recent enough to compile Xonotic. **Do not use xonpatch.** If you want to set up a build environment, you will need the tools mentioned in this deprecated article in more recent versions. Feel free to ask for assistance on the forums or on ouc IRC channels. If you succeed, please consider updating this page.
5
6 **NOTE**: there is an experimental automated building pack for Windows that uses a portable version of the tools mentioned in this article.
7 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).
8
9 Prerequisites
10 -------------
11
12 ### MinGW / MSYS
13
14 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.
15 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.
16 **Important**: install MinGW in a path containing no spaces. The default path is good: `c:\mingw`
17
18 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).  
19 **Important**: again, the installation path should contain no spaces. The default is `c:\msys`.  
20 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`.  
21 **Note**: If the terminal window instantly closed it self and you never got a chance to input the mingw path etc (And if you’re on Vista or Win7). Then go to `c:\msys\1.0\postinstall\` and right-click `pi.bat` and choose ‘Run as administrator’.
22
23 ### msysGit
24
25 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.  
26 The default install options should be good.
27
28 Downloading the Xonotic sources
29 -------------------------------
30
31 Open git bash, and type those two commands:
32
33     cd /c/msys/1.0
34     git clone git://git.xonotic.org/xonotic/xonotic.git
35
36 (Tip: you can paste text in the console with the `Shift+Insert` keyboard shortcut)
37
38 This will install the Xonotic root repository in `c:\msys\1.0\xonotic`
39
40 When the download is done, type
41
42     cd xonotic
43     ./all update -l best
44
45 This will download approximately 2 gigabytes of data, and use 4 gigabytes in disk space.  
46 *(It's closer to 20 gigabytes, all together, in disk space in 2014 now)*  
47 This will take a while, but you can already get started on the next step.
48
49 Setting up the environment
50 --------------------------
51
52 To run and compile Xonotic, the “all” script must be able to access msysGit from MSYS, as well as wget and unzip. The xonpatch bundle patches your MSYS installation to sort this out.
53
54 **Important**: if you have followed a previous version of this guide where the “profile” file had to be edited manually, download the original msys1.0.11 profile file from [this link](http://dev.xonotic.org/attachments/84/profile.zip), and unzip it in `c:\msys\1.0\etc` before applying the xonpatch.
55
56 The process is simple: download the latest xonpatch from [this link](http://dev.xonotic.org/attachments/91/xonpatch_1-2.zip), and extract it in `c:\msys\1.0`. Then launch `xonpatch.bat`. This will make msysGit visible from MSYS, and add wget as well as unzip.
57
58 Compiling and running the game
59 ------------------------------
60
61 When the cloning of all the repositories is done, open **MSYS** (not git bash this time) and type:
62
63     cd /xonotic
64     ./all compile
65
66 This will compile the engine, QC compiler, and game progs. When this is done, you can then run the game with:
67
68     ./all run
69
70 Updating
71 --------
72
73 To update, all you need to do is open MSYS and:
74
75     cd /xonotic
76     ./all update
77     ./all compile
78
79 The most recent Xonotic development version is then ready to run.