Difference between revisions of "Compile"
(Both freeorion/freeorion and freeorion/GG sources are properly tagged in Git so there is no need to list the mostly broken SF links.) |
|||
Line 27: | Line 27: | ||
* [http://www.libsdl.org/download-2.0.php SDL2] - '''version 2.0.3''' works. | * [http://www.libsdl.org/download-2.0.php SDL2] - '''version 2.0.3''' works. | ||
* [http://glew.sourceforge.net/ GLEW] - (Windows only) '''version 1.5.7''' is known to work. | * [http://glew.sourceforge.net/ GLEW] - (Windows only) '''version 1.5.7''' is known to work. | ||
+ | |||
==Getting the source== | ==Getting the source== | ||
− | + | The source code can be obtained from the [https://github.com/freeorion/freeorion freeorion/freeorion] repository hosted on GitHub via any Git client. Release versions are tagged in that repository. To download a release source tarball without cloning the complete freeorion/freeorion repository the GitHub [https://github.com/freeorion/freeorion/releases Release] page can be used. | |
− | |||
− | |||
− | |||
===FreeOrion SDK=== | ===FreeOrion SDK=== | ||
Line 41: | Line 39: | ||
The SDKs do not contain the FreeOrion source code, which must be retrieved from GitHub. | The SDKs do not contain the FreeOrion source code, which must be retrieved from GitHub. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Revision as of 13:53, 16 November 2016
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.
Contents
Overview
First of all, you will need to obtain the source code 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 FreeOrion SDK.
- Boost - version 1.54 or later.
- FreeType2 -version 2.5.3 is known to work.
- Python - version 2.7 or later (version 2.x only; 3.x will not work)
- OpenAL
- libogg - version 1.1.3 or later 1.2.1 is known to work.
- libvorbis - version 1.1.2 or later 1.3.2 is known to work.
- zlib - version 1.2.5 is known to work with libpng 1.4.4
- libpng - version 1.6 works.
- SDL2 - version 2.0.3 works.
- GLEW - (Windows only) version 1.5.7 is known to work.
Getting the source
The source code can be obtained from the freeorion/freeorion repository hosted on GitHub via any Git client. Release versions are tagged in that repository. To download a release source tarball without cloning the complete freeorion/freeorion repository the GitHub Release page can be used.
FreeOrion SDK
There are Software Development Kits (SDKs) available 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 from GitHub.
Compilation
Compilation instructions and troubleshooting tips are available for the following operating systems:
- Linux
- Windows
- Mac OS X
- For BSD, consult the Linux instructions, and possibly this forum thread.