Difference between revisions of "Compile"

From FreeOrionWiki
Jump to: navigation, search
(Overview)
(Remove most content; just link to github build instructions)
 
(22 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 
Currently, [[FreeOrion]] will compile in most recent Windows, Linux, and MacOSX.  The *BSD genus of operating systems might also work; follow the Linux instructions in this case.
 
Currently, [[FreeOrion]] will compile in most recent Windows, Linux, and MacOSX.  The *BSD genus of operating systems might also work; follow the Linux instructions in this case.
  
==Overview==
+
Consult the [https://github.com/freeorion/freeorion/blob/master/BUILD.md build instructions] in the project git repository.
 
+
First of all, you will need to obtain the [[source]] [https://github.com/freeorion/freeorion from GitHub]. The versions available on the [[project page]] are official releases or point releases, and may be somewhat or very out of date. To help with [[programming]] [[FreeOrion]], you will need to grab the Git master repository latest version. Then you need to set up the required software, compile the game, and run it.
+
 
+
==Hardware requirements==
+
The FreeOrion code makes heavy use of templates, and requires much memory to compile; 4 GB or more RAM is recommended.
+
 
+
On Linux, shutting down your X server and compiling from console may help on systems with little RAM.  (If this doesn't mean anything to you, simply ignore this advice.)
+
 
+
You will also need a fast processor.  To build GG and FreeOrion, expect up to 45 minutes of a Core i5 system, or over an hour on a Core2 Duo system; on a Core i7 system it can be under 10 minutes.
+
 
+
Note that, while not required to compile FreeOrion, running the FreeOrion client requires a graphics card and drivers that support OpenGL 2.0.
+
 
+
==Software requirements==
+
'''Note: On Windows and OSX, most dependencies are available pre-compiled in the [[Compile#FreeOrion SDK|FreeOrion SDK]].'''
+
 
+
* [[GiGi]] - Including GiGiOgre and the GiGiOgre OIS plugin. The code for these is included in the FreeOrion SVN repository, but they must be built as separate libraries.
+
* [http://www.boost.org/ Boost] - '''version 1.56'''  or later.
+
* [http://www.freetype.org FreeType2] - a GiGi dependency.  version 2.4.3 is known to work.
+
* [http://www.python.org/download/ Python] - '''version 2.7 or later''' ('''version 2.x only; 3.x will not work''')
+
* [http://www.openal.org/downloads.html OpenAL]
+
* [http://xiph.org/downloads/ libogg] - '''version 1.1.3 or later''' 1.2.1 is known to work.
+
* [http://xiph.org/downloads/ libvorbis] - '''version 1.1.2 or later''' 1.3.2 is known to work.
+
* [http://glew.sourceforge.net/ GLEW] - (Windows only) version 1.5.7 is known to work.
+
* [http://www.zlib.net/ zlib] - version 1.2.5 is known to work with libpng 1.4.4
+
* [http://www.libpng.org/pub/png/libpng.html libpng] - ''' versions 1.2 and 1.4 work'''
+
 
+
==Getting the source==
+
 
+
===Git===
+
 
+
The source code can be obtained from [https://github.com/freeorion/freeorion freeorion/freeorion/master] repository on GitHub.
+
 
+
====SourceForge Subversion====
+
 
+
Prior to March 2015, FreeOrion source code was stored and managed on [http://sourceforge.net/p/freeorion/code/HEAD/tree/trunk/ SourceForge Subversion] (SVN). This repository is now retired, and future development with occur on GitHub.
+
 
+
===FreeOrion SDK===
+
 
+
There are Software Development Kits (SDKs) availaboe for Windows and MacOSX which contain precompiled dependencies needed for building FreeOrion from source. You may download and build all of these open-source dependencies yourself if you prefer. Using the SDK is likely faster and easier, however.
+
 
+
The SDKs do not contain the FreeOrion source code, which must be retrieved using git.
+
 
+
 
+
===Git Tarballs===
+
 
+
Release builds are [https://github.com/freeorion/freeorion/releases tagged in the freeorion/freeorion GitHub repository]. Zipped downloads of the repository are available there.
+
 
+
===Subversion Tarballs (old)===
+
 
+
The SourceForge Subversion web-client allows one to download pre-March-2015 numbered versions of the source code as a tarball:
+
 
+
===== FreeOrion v0.4.4 =====
+
 
+
* [http://sourceforge.net/projects/freeorion/files/FreeOrion/FreeOrion%20Version%200.4.4/ FreeOrion v0.4.4] is FreeOrion SVN revision 7708: '''https://sourceforge.net/p/freeorion/code/7708/tree/tags/RELEASE_V_0_4_4/'''
+
 
+
===== FreeOrion v0.4.3 =====
+
 
+
* [http://sourceforge.net/projects/freeorion/files/FreeOrion/FreeOrion%20Version%200.4.3/ FreeOrion v0.4.3] is FreeOrion SVN revision 6281: '''http://sourceforge.net/p/freeorion/code/6281/tree/trunk/'''
+
 
+
===== FreeOrion v0.4.2 =====
+
 
+
* [https://sourceforge.net/projects/freeorion/files/FreeOrion/FreeOrion%20Version%200.4.2/ FreeOrion v0.4.2] is FreeOrion SVN revision 5771: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/?pathrev=5771'''.
+
 
+
===== FreeOrion v0.4.1 =====
+
 
+
* [https://sourceforge.net/projects/freeorion/files/FreeOrion/FreeOrion%20Version%200.4.1/ FreeOrion v0.4.1] is FreeOrion SVN revision 5096: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/?pathrev=5096''' with GiGi SVN revision 1074: '''http://gigi.svn.sourceforge.net/viewvc/gigi/trunk/?pathrev=1074'''
+
 
+
===== FreeOrion v0.4 =====
+
 
+
* [https://sourceforge.net/projects/freeorion/files/FreeOrion/FreeOrion%20Version%200.4/ FreeOrion v0.4] is FreeOrion SVN revision 4635: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/?pathrev=4635''' with GiGi SVN revision 1074: '''http://gigi.svn.sourceforge.net/viewvc/gigi/trunk/?pathrev=1074'''
+
 
+
===== FreeOrion v0.3.17 =====
+
 
+
* [https://sourceforge.net/projects/freeorion/files/FreeOrion/FreeOrion%20Version%200.3.17/ FreeOrion v0.3.17] is FreeOrion SVN revision 4282: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/?pathrev=4282''' with GiGi SVN revision 1044: '''http://gigi.svn.sourceforge.net/viewvc/gigi/trunk/?pathrev=1044'''
+
 
+
===== FreeOrion v0.3.16 =====
+
 
+
* [https://sourceforge.net/projects/freeorion/files/FreeOrion/FreeOrion%20Version%200.3.16/ FreeOrion v0.3.16] is FreeOrion SVN revision 4046: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/?pathrev=4046''' with GiGi SVN revision 1043: '''http://gigi.svn.sourceforge.net/viewvc/gigi/trunk/?pathrev=1043'''
+
 
+
===== FreeOrion v0.3.15 =====
+
 
+
* [https://sourceforge.net/projects/freeorion/files/FreeOrion/FreeOrion%20Version%200.3.15/ FreeOrion v0.3.15] is FreeOrion SVN revision 3727: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/?pathrev=3727''' with GiGi SVN revision 813: '''http://gigi.svn.sourceforge.net/viewvc/gigi/trunk/?pathrev=813'''
+
 
+
===== FreeOrion v0.3.14 =====
+
 
+
* [https://sourceforge.net/projects/freeorion/files/FreeOrion/FreeOrion%20Version%200.3.14/ FreeOrion v0.3.14] is FreeOrion SVN revision 3571: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/?pathrev=3571''' with GiGi SVN revision 812: '''http://gigi.svn.sourceforge.net/viewvc/gigi/trunk/?pathrev=812'''
+
 
+
===== FreeOrion v0.3.13 =====
+
 
+
* [https://sourceforge.net/project/showfiles.php?group_id=75752&package_id=111134&release_id=685272 FreeOrion v0.3.13]
+
** '''On Windows''' is FreeOrion SVN revision 3094: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/?pathrev=3094''' with GiGi SVN revision 756: '''http://gigi.svn.sourceforge.net/viewvc/gigi/trunk/?pathrev=756'''
+
** '''On Linux''' is FreeOrion SVN revision 3103: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/?pathrev=3103''' with GiGi SVN revision 757: '''http://gigi.svn.sourceforge.net/viewvc/gigi/trunk/?pathrev=757'''
+
** '''On Mac OSX''' is FreeOrion SVN revision 3094: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/?pathrev=3094''' with GiGi SVN revision 757: '''http://gigi.svn.sourceforge.net/viewvc/gigi/trunk/?pathrev=757'''
+
 
+
===== FreeOrion v0.3.12.1 '''for Linux''' =====
+
* [https://sourceforge.net/project/showfiles.php?group_id=75752&package_id=111134&release_id=660507 FreeOrion v0.3.12.1 '''for Linux'''] is SVN revision 2918: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/?pathrev=2918''' with GiGi revision 711: '''http://gigi.svn.sourceforge.net/viewvc/gigi/?pathrev=711'''
+
 
+
===== FreeOrion v0.3.12 '''for Windows''' =====
+
* [https://sourceforge.net/project/showfiles.php?group_id=75752&package_id=111134&release_id=660507 FreeOrion v0.3.12 '''for Windows'''] is SVN revision 2807: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/?pathrev=2807''' with GiGi revision 710: '''http://gigi.svn.sourceforge.net/viewvc/gigi/?pathrev=710'''
+
 
+
===== FreeOrion v0.3.11 =====
+
* [https://sourceforge.net/project/showfiles.php?group_id=75752&package_id=111134&release_id=652545 FreeOrion v0.3.11]
+
** '''On Windows''' is SVN revision 2729 '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/FreeOrion/?pathrev=2729''' with GiGi revision 695: '''http://gigi.svn.sourceforge.net/viewvc/gigi/trunk/GG/?pathrev=695'''
+
** '''On Linux''' is SVN revision 2732 '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/FreeOrion/?pathrev=2732''' with GiGi revision 695: '''http://gigi.svn.sourceforge.net/viewvc/gigi/trunk/GG/?pathrev=695'''
+
 
+
===== FreeOrion v0.3.10 =====
+
* [https://sourceforge.net/project/showfiles.php?group_id=75752&package_id=111134&release_id=609273 FreeOrion v0.3.10] is SVN revision 2607: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/FreeOrion/?pathrev=2607''' with GiGi revision 651: '''http://gigi.svn.sourceforge.net/viewvc/gigi/trunk/GG/?pathrev=651'''
+
 
+
==Compilation==
+
Compilation instructions and troubleshooting tips are available for the following operating systems:
+
* [[Compile_In_Linux|Linux]]
+
* [[Compile_In_Windows|Windows]]
+
* [[Compile_In_Mac_OS_X|Mac OS X]]
+
* For BSD, consult the Linux instructions, and possibly [http://www.freeorion.org/forum/viewtopic.php?p=36318#p36318 this forum thread].
+

Latest revision as of 14:39, 22 April 2020

Currently, FreeOrion will compile in most recent Windows, Linux, and MacOSX. The *BSD genus of operating systems might also work; follow the Linux instructions in this case.

Consult the build instructions in the project git repository.