Free and Open Source real time strategy game with a new take on micro-management

Difference between revisions of "Compiling"

From Globulation2

Jump to: navigation, search
m (Debian/Ubuntu)
(debian dependencies. this is true for the source i just compiled from mercurial)
Line 22: Line 22:
The following terminal command will get you all the dependencies:
The following terminal command will get you all the dependencies:
sudo apt-get install scons libsdl1.2-dev libsdl-net1.2-dev libsdl-image1.2-dev \
sudo apt-get install scons libsdl1.2-dev libsdl-net1.2-dev libsdl-image1.2-dev \
libsdl-ttf2.0-dev zlib-bin libspeex-dev libogg-dev libvorbis-dev libboost-dev
libsdl-ttf2.0-dev zlib-bin libspeex-dev libogg-dev libvorbis-dev libboost-dev \
libboost-thread1.40-dev libboost-date-time1.40-dev
* Adding 'mercurial' to that line will get you all you need to get involved.
* Adding 'mercurial' to that line will get you all you need to get involved.



Revision as of 03:57, 18 April 2010

Main User Resources: User Manual | Frequently Asked Questions | Map editor guide | YOG
Game specific arguments: Resources | Buildings | Units | Combat | Flags and special areas | Farming | Graphs | Statistics | Prestige | Fruit and conversion
Building from Sources: Git | Compiling
Compiling on Windows: The instructions below will not work for Windows. To compile on that OS, please see the Mingw compilation guide, which explains how to compile globulation2 on windows using mingw.

Compilation requirements

Compiling on Mac OSX: There is an easier way to get all the dependancies than to compile them all. See the MAC OS X Development page for more information.

For source tarbal, Mercurial source, and package installations, you'll also need to install these packages:

Debian/Ubuntu

The following terminal command will get you all the dependencies:

sudo apt-get install scons libsdl1.2-dev libsdl-net1.2-dev libsdl-image1.2-dev \
libsdl-ttf2.0-dev zlib-bin libspeex-dev libogg-dev libvorbis-dev libboost-dev \
libboost-thread1.40-dev libboost-date-time1.40-dev
  • Adding 'mercurial' to that line will get you all you need to get involved.

Compile from Sources

Source Distribution

  • Get the source distribution archive from the download section.
  • Extract the archive using a compression/extraction utility such as tar.
  • Go in the extracted archive. If you have a Unix system (Linux, Solaris, Mac OS X):
    • Run the 'scons' script to compile the game (it will check dependencies, install any you have missing)
      • If you want to install the game in a special place, instead of 'scons', type:
scons BINDIR="/path/to/install/bin" INSTALLDIR="/path/to/install/share"
    • Install with a simple 'scons install' command (will install to the location you might have entered when compiling (BINDIR and INSTALLDIR)).
    • Run the game by typing 'glob2'. If it doesn't work, type '/path/to/install/bin/glob2' instead.
    • Note: in some Linux distributions (eg: Archlinux), scons complains about not finding -lboost_thread (with boost already installed). A solution is to modify the SConstruct file to look for boost_thread-mt instead of boost_thread, and the modify the LIBS variable with boost_thread-mt, to link against this library. If you have root access you can create a symlink libboost_thread.so instead.

Sources from Mercurial

Warning: The source from Mercurial is occasionally unstable and will break. It is not meant for playing games but only for development and testing.

The quick way

Use this if you want to get exactly one copy of glob2 repository to compile and run it. This is also the recommended way if you are sure you will not want to push only parts of your changes.

  • Initial download
cd some_workspace_directory
hg clone http://hg.globulation2.org/glob2-new/
  • Subsequent updates
cd glob2-new
hg pull
hg update
pull will get all changes from the original repository into your repository
update will get your local files to the latest revision. Use -C to loose all local changes.

The more complicated way

Use this if you want to commit several changes that you are not sure of being finished some day while at the same time you want to have access to a clean checkout, too.

  • Initial download
cd some_workspace_directory
hg clone http://hg.globulation2.org/glob2-new/
  • clone to a working directory
cd some_workspace_directory
hg clone glob2-new glob2-work
  • Subsequent updates
cd glob2-new
hg pull
cd ../glob2-work
hg pull
hg update
pull will get all changes from the original repository into your target repository
update will get your files to the latest revision. Use -C to loose all local changes.
  • Read the README.hg and README files.
  • Continue by following the source distribution instructions from the 3rd step onwards.
Misc