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

Compiling

From Globulation2

Jump to: navigation, search
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

Building current versions

The maintained build and run guide provides current Linux, macOS and Windows prerequisites, dependency setup and commands. Start there before compiling; the SDL 1.2 and Mercurial instructions below apply to historical versions.

Clone the current repository with Git. After installing your platform's prerequisites and configuring the pinned SDL3 dependency prefix as documented, run from the repository root:

python3 tools/dev_build.py

The helper reports the build output directory. See the build options for configuration and the test guide for verification. Development builds are for local editing and smoke checks; use the release guides for shipping packages.

If you only want to play, see Download and Install or play in your browser.

Historical information

These archived instructions and notes describe older releases. Use the current links above for modern versions.

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 mercurial scons libsdl1.2-dev libsdl-net1.2-dev libsdl-image1.2-dev \
libsdl-ttf2.0-dev zlibc libspeex-dev libogg-dev libvorbis-dev libboost-dev libboost-thread-dev \
libboost-date-time-dev

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 (GNU/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 GNU/+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 https://bitbucket.org/giszmo/glob2
  • Subsequent updates
cd glob2
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 https://bitbucket.org/giszmo/glob2
  • clone to a working directory
cd some_workspace_directory
hg clone glob2 glob2-work
  • Subsequent updates
cd glob2
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