Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Version 2 (modified by rgrieder, 16 years ago) (diff)

The Orxonox Build System

We use CMake to configure the the compiler. CMake can either generate makefiles or project files (Visual Studio, KDevelop, Code::Blocks, etc.). There is more information on the CMake homepage.
Our CMake version requirement is 2.6.

Prerequisites

Orxonox has of course some library dependencies which you will have to get yourself from the internet. If you are compiling on Windows however we strongly recommend to use precompiled archives, supplied on the download page because that will make your life a lot easier.
This is a list of requirements:

Library name Minimum Version
OGRE 3D Graphics Engine 1.4 (1.6 not yet supported)
CEGUI (Crazy Eddie's GUI System) 0.5
Boost libraries 1.34
ENet (Network library) 1.1
Lua (scripting language) 5.0 or 5.1
Tcl (shell script language) 8.4 or 8.5
OpenAL (audio) (not yet specified)
ALUT (audio) (not yet specified)
LibOgg (not yet specified)
LibVorbis (not yet specified)
ZLib (compression) (not yet specified)


On Windows, you will also have to have DirectX 9.0c installed. OGRE uses a DX SDK of different version, but you will find the DLLs in the precompiled archives (MSVC and MinGW version differ as well).

CMake Basics

Either you get yourself a GUI version (I really recommend it if you haven't used CMake yet) or you use the command line version.
Generally speaking CMake will generate all files in a single directory tree called build (or binary) tree. That means your source tree doesn't get 'polluted' in any way. We recommend to make a directory in the source tree for the output.
In short for the command line version:

(sitting in your checkout directory)
mkdir build
cd build
cmake ..

Why ".." in the subfolder? Because that's how CMake works. It will generate the output files in the current current directory, ".." only specifies our source tree (with a CMakeLists.txt file).

Options

Specifying them can either be done in the GUI very easily (please exclude the advanced entries) or on the command line with: cmake -D MYVALUE=TRUE .. If you wish to have more options than listed here, you will have to consult an Orxonox developer or the CMake online docs.

Variable Name Default Value Description
CEGUILUA_USE_EXTERNAL_LIBRARY false Usually we supply the correct version (regarding the CEGUI version) of the CEGUI script libraries with the source repository. This eliminates the essential need to link CEGUILua and Orxonox against the same Lua version (5.0 or 5.1, subversion shouldn't matter). If you want to use your own CEGUILua library, activate this switch. BUT BE SURE TO KNOW WHICH VERSION OF LUA IS WAS LINKED AGAINST. Tests have shown that non concurring versions result in immediate crashes.
CMAKE_INSTALL_PREFIX /usr (Unix), %Program Files%\Orxonox (Windows) Where you would like to install Orxonox. See the install section below for more information.
DEPENDENCY_PACKAGE_ENABLE false (Unix), true (Windows) Use a package of precompiled dependencies. This only works if there is already a PackageConfigX.cmake file in the "cmake" folder. Currently we deploy such packages for MSVC and MinGW on Windows, where this option is on per default.
DEPENDENCY_PACKAGE_DIR found automatically The directory in which the precompiled dependencies can be found. That path has to contain the "include" folder