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
(debian dependencies. this is true for the source i just compiled from mercurial)
(Debian/Ubuntu: updated the dependencies)
 
(4 intermediate revisions by 3 users not shown)
Line 21: Line 21:
===Debian/Ubuntu===
===Debian/Ubuntu===
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 mercurial 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 zlibc libspeex-dev libogg-dev libvorbis-dev libboost-dev libboost-thread-dev \
libboost-thread1.40-dev libboost-date-time1.40-dev
libboost-date-time-dev
* Adding 'mercurial' to that line will get you all you need to get involved.


== Compile from Sources ==
== Compile from Sources ==
Line 30: Line 29:
* Get the [[Download and Install|source distribution archive]] from the download section.
* Get the [[Download and Install|source distribution archive]] from the download section.
* Extract the archive using a compression/extraction utility such as tar.
* 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):
* 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)
** 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:
*** If you want to install the game in a special place, instead of 'scons', type:
Line 36: Line 35:
** Install with a simple 'scons install' command (will install to the location you might have entered when compiling (BINDIR and INSTALLDIR)).
** 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.
** 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.
** 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]] ===
=== Sources from [[Mercurial]] ===
Line 44: Line 43:
* Initial download
* Initial download
cd some_workspace_directory
cd some_workspace_directory
hg clone http://hg.globulation2.org/glob2-new/
hg clone https://bitbucket.org/giszmo/glob2
* Subsequent updates
* Subsequent updates
cd glob2-new
cd glob2
hg pull
hg pull
hg update
hg update
Line 55: Line 54:
* Initial download
* Initial download
cd some_workspace_directory
cd some_workspace_directory
hg clone http://hg.globulation2.org/glob2-new/
hg clone https://bitbucket.org/giszmo/glob2
* clone to a working directory
* clone to a working directory
cd some_workspace_directory
cd some_workspace_directory
hg clone glob2-new glob2-work
hg clone glob2 glob2-work
* Subsequent updates
* Subsequent updates
cd glob2-new
cd glob2
hg pull
hg pull
cd ../glob2-work
cd ../glob2-work

Latest revision as of 16:48, 11 April 2016

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 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