Spinning Topp Logo BlackTopp Studios
inc
installing_engine_deps_linux.h
1 // © Copyright 2010 - 2016 BlackTopp Studios Inc.
2 /* This file is part of The Mezzanine Engine.
3 
4  The Mezzanine Engine is free software: you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation, either version 3 of the License, or
7  (at your option) any later version.
8 
9  The Mezzanine Engine is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with The Mezzanine Engine. If not, see <http://www.gnu.org/licenses/>.
16 */
17 /* The original authors have included a copy of the license specified above in the
18  'Docs' folder. See 'gpl.txt'
19 */
20 /* We welcome the use of the Mezzanine engine to anyone, including companies who wish to
21  Build professional software and charge for their product.
22 
23  However there are some practical restrictions, so if your project involves
24  any of the following you should contact us and we will try to work something
25  out:
26  - DRM or Copy Protection of any kind(except Copyrights)
27  - Software Patents You Do Not Wish to Freely License
28  - Any Kind of Linking to Non-GPL licensed Works
29  - Are Currently In Violation of Another Copyright Holder's GPL License
30  - If You want to change our code and not add a few hundred MB of stuff to
31  your distribution
32 
33  These and other limitations could cause serious legal problems if you ignore
34  them, so it is best to simply contact us or the Free Software Foundation, if
35  you have any questions.
36 
37  Joseph Toppi - toppij@gmail.com
38  John Blackwood - makoenergy02@gmail.com
39 */
40 
41 #ifndef installing_engine_deps_linux_h
42 #define installing_engine_deps_linux_h
43 
44 /**
45  @page installing_engine_deps_linux Installing Linux Engine Dependencies
46  This projects relies on a number of third party packages. Software packages that you must
47  install are kept to a minimum and should be available from your distribution's package manager.
48 
49  @section installing_engine_deps_linux_included Included Dependencies
50  These are included and built automatically as part of a normal Mezzanine build. These require no
51  configuration beyond setting cmake options.
52 
53  - Bullet3d – This provides 3d physics.
54  - SDL – This can do a number of low level game tasks, but we use it for user input.
55  - Ogre3d – This provides us with high performance 3d graphics.
56  - OpenAL-Soft – A software based implementation of OpenAL
57  - Ogg and Vorbis – Sound encoding and containers.
58  - Lua - A scripting language suitable for game development.
59 
60  @section installing_engine_deps_linux_external Required External Dependencies
61  - libxaw7-dev — A set of simple X11 widgets, this is mandatory for Ogre.
62  - libxrandr-dev — Somethings to do with X11, someone please put a real explanation here.
63  - libglu1-mesa-dev and libgles1-mesa-dev — Opengl Rendersystem support (may not be required in
64  all situations)
65  - Any sound library that OpenAL-Soft can find, like libpulse-dev
66 
67  @section installing_engine_deps_linux_install Ubuntu Installation
68  Installing the required libraries is normally easy on Ubuntu. Run the following command:
69  @code
70  sudo apt-get install libxaw7-dev libxrandr-dev libglu1-mesa-dev libgles1-mesa-dev libpulse-dev
71  @endcode
72 
73  I have not needed to go out of way to include a sound dependency. Sometimes I do have issues
74  with OpenGL and that is why mesa is included.
75 
76  @section installing_engine_deps_linux_optional Optional External Dependencies
77 
78  @subsection installing_engine_deps_linux_optiona_bullet Bullet3d
79  You can optionally install @b libglu-dev or @b freeglut3-dev to allow building the bullet demos.
80 
81  @subsection installing_engine_deps_linux_optiona_ogre Ogre3d
82  Ogre has a large number of of optional dependencies that can be installed, the most relevant
83  ones are listed below. Ogre 3d is included in the source distribution, and does not need to be
84  installed at the OS level. Dependencies required by Ogre (in Ubuntu names):
85 
86  - libfreeimage-dev — Used to allow automated load and handling of common image formats (jpg,
87  gif, tga, etc…), so they can be used as 3d textures.
88  - libfreetype6-dev — Works with fonts
89  - nvidia-cg-toolkit — Adds support for Cg shaders, which we removed because they aren’t very
90  good.
91  - libboost-thread-dev — This adds support for multhreading into Ogre, This allows for
92  experimentation, on many linux distrobutions, but introduces a bug in the version of boost
93  shipped with Ubuntu 11.04 when using c++0x threads. This should be avoided unless you are
94  explicitly experimenting with threads.
95  - libois-dev — The Object-oriented Input System, is used by many Ogre projects and by the Ogre
96  Demos.
97  - libcppunit-dev — For Ogre unit testing.
98  - libopengl-es-dev — Not sure on the name, this might be it, But there is a Package that enables
99  Opengl 2.0 shaders in Ogre
100  - x11proto-core-dev and libx11-dev — For certain window integration features on some systems are
101  required as well. These are core components and will likely be installed with some of the
102  other development libraries.
103 
104 
105 */
106 
107 #endif