This projects relies on a number of third party packages. Software packages that you must install are kept to a minimum and should be available from your distribution's package manager.
Included Dependencies
These are included and built automatically as part of a normal Mezzanine build. These require no configuration beyond setting cmake options.
- Bullet3d – This provides 3d physics.
- SDL – This can do a number of low level game tasks, but we use it for user input.
- Ogre3d – This provides us with high performance 3d graphics.
- OpenAL-Soft – A software based implementation of OpenAL
- Ogg and Vorbis – Sound encoding and containers.
- Lua - A scripting language suitable for game development.
Required External Dependencies
- libxaw7-dev — A set of simple X11 widgets, this is mandatory for Ogre.
- libxrandr-dev — Somethings to do with X11, someone please put a real explanation here.
- libglu1-mesa-dev and libgles1-mesa-dev — Opengl Rendersystem support (may not be required in all situations)
- Any sound library that OpenAL-Soft can find, like libpulse-dev
Ubuntu Installation
Installing the required libraries is normally easy on Ubuntu. Run the following command:
sudo apt-get install libxaw7-dev libxrandr-dev libglu1-mesa-dev libgles1-mesa-dev libpulse-dev
I have not needed to go out of way to include a sound dependency. Sometimes I do have issues with OpenGL and that is why mesa is included.
Optional External Dependencies
Bullet3d
You can optionally install libglu-dev or freeglut3-dev to allow building the bullet demos.
Ogre3d
Ogre has a large number of of optional dependencies that can be installed, the most relevant ones are listed below. Ogre 3d is included in the source distribution, and does not need to be installed at the OS level. Dependencies required by Ogre (in Ubuntu names):
- libfreeimage-dev — Used to allow automated load and handling of common image formats (jpg, gif, tga, etc…), so they can be used as 3d textures.
- libfreetype6-dev — Works with fonts
- nvidia-cg-toolkit — Adds support for Cg shaders, which we removed because they aren’t very good.
- libboost-thread-dev — This adds support for multhreading into Ogre, This allows for experimentation, on many linux distrobutions, but introduces a bug in the version of boost shipped with Ubuntu 11.04 when using c++0x threads. This should be avoided unless you are explicitly experimenting with threads.
- libois-dev — The Object-oriented Input System, is used by many Ogre projects and by the Ogre Demos.
- libcppunit-dev — For Ogre unit testing.
- libopengl-es-dev — Not sure on the name, this might be it, But there is a Package that enables Opengl 2.0 shaders in Ogre
- x11proto-core-dev and libx11-dev — For certain window integration features on some systems are required as well. These are core components and will likely be installed with some of the other development libraries.