Difference between revisions of "Compile"
(32 intermediate revisions by 6 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. | ||
− | + | For the most up-to-date instructions we recommend you begin by consulting [https://github.com/freeorion/freeorion/blob/master/BUILD.md the build instructions in our repository]. The information below may possibly add some helpful details, but is also at greater risk of being out of date. | |
− | + | ||
+ | First of all, you will need to obtain the source code from [https://github.com/freeorion/freeorion GitHub repository]. 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. | ||
==Hardware requirements== | ==Hardware requirements== | ||
+ | |||
The FreeOrion code makes heavy use of templates, and requires much memory to compile; 4 GB or more RAM is recommended. | The FreeOrion code makes heavy use of templates, and requires much memory to compile; 4 GB or more RAM is recommended. | ||
− | + | To build 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. | |
− | + | ==Software requirements== | |
− | |||
− | |||
− | |||
'''Note: On Windows and OSX, most dependencies are available pre-compiled in the [[Compile#FreeOrion SDK|FreeOrion SDK]].''' | '''Note: On Windows and OSX, most dependencies are available pre-compiled in the [[Compile#FreeOrion SDK|FreeOrion SDK]].''' | ||
− | + | * [http://www.boost.org/ Boost] - '''version 1.58''' or later. | |
− | * [http://www.boost.org/ Boost] - '''version 1. | + | * [http://www.freetype.org FreeType2] -'''version 2.5.5 is known to work'''. |
− | * [http://www. | + | |
− | + | ||
− | + | ||
* [http://www.python.org/download/ Python] - '''version 2.7 or later''' ('''version 2.x only; 3.x will not work''') | * [http://www.python.org/download/ Python] - '''version 2.7 or later''' ('''version 2.x only; 3.x will not work''') | ||
− | * [ | + | * [https://www.openal.org/downloads/ OpenAL] |
* [http://xiph.org/downloads/ libogg] - '''version 1.1.3 or later''' 1.2.1 is known to work. | * [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://xiph.org/downloads/ libvorbis] - '''version 1.1.2 or later''' 1.3.2 is known to work. | ||
− | |||
* [http://www.zlib.net/ zlib] - version 1.2.5 is known to work with libpng 1.4.4 | * [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] - ''' | + | * [http://www.libpng.org/pub/png/libpng.html libpng] - '''version 1.6''' 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. | ||
==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=== | ||
− | |||
− | + | There are Software Development Kits (SDKs) available for Windows and MacOSX which contain precompiled dependencies needed for building FreeOrion from source. The script to build and package the FreeOrion SDK can be obtained from [https://github.com/freeorion/freeorion-sdk freeorion/freeorion-sdk]. The FreeOrion SDK itself can be downloaded from [https://github.com/freeorion/freeorion-sdk/releases GitHub] (for FreeOrion later than v0.4.6) or [http://sourceforge.net/projects/freeorion/files/FreeOrion%20SDK SourceForge] (for FreeOrion v0.4.6 and earlier). | |
− | |||
− | The | + | 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: |
+ | * [[Compile_In_Linux|Linux]] | ||
+ | * [[Compile_In_Windows|Windows]] | ||
+ | * [[Compile_In_Mac_OS_X|Mac OS X]] | ||
+ | * For BSD, consult the Linux instructions. | ||
− | |||
− | + | ==Development Environment== | |
− | + | Create a [[Config.xml#Persistent Config|persistent_config.xml]] with settings that you want to preserve between builds. Otherwise, the first time that you run the game after re-building it all options in config.xml will be reset. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + |
Revision as of 02:43, 14 May 2018
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.
For the most up-to-date instructions we recommend you begin by consulting the build instructions in our repository. The information below may possibly add some helpful details, but is also at greater risk of being out of date.
First of all, you will need to obtain the source code from GitHub repository. 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.
Contents
Hardware requirements
The FreeOrion code makes heavy use of templates, and requires much memory to compile; 4 GB or more RAM is recommended.
To build 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.
Software requirements
Note: On Windows and OSX, most dependencies are available pre-compiled in the FreeOrion SDK.
- Boost - version 1.58 or later.
- FreeType2 -version 2.5.5 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. The script to build and package the FreeOrion SDK can be obtained from freeorion/freeorion-sdk. The FreeOrion SDK itself can be downloaded from GitHub (for FreeOrion later than v0.4.6) or SourceForge (for FreeOrion v0.4.6 and earlier).
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:
Development Environment
Create a persistent_config.xml with settings that you want to preserve between builds. Otherwise, the first time that you run the game after re-building it all options in config.xml will be reset.