BlackTopp Studios
inc
Main
Namespaces
Classes
Files
File List
File Members
Mezzanine
src
dox
dev_tools_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
#ifndef _dox_dev_tools_linux_h
41
#define _dox_dev_tools_linux_h
42
43
44
/**
45
@page dev_tools_linux Linux Development Tools
46
Installing the developer tool is pretty easy on most Linux workstations, we have only performed
47
it on Ubuntu recently. There is no reason why it wouldn’t work on any Linux distrobution as long
48
as it provide the required packages or you are able to compile them from source. Here we detail
49
the setups we have performed.
50
51
@section dev_tools_ubuntu_install Ubuntu Install
52
Installing the developer tools on Ubuntu is incredibly easy. Just run this one command from a
53
terminal and it will install all the required tools at once for you.
54
@code
55
sudo apt-get install g++ git cmake
56
@endcode
57
This leaves you with compiler, tools to download our code from
58
@htmlonly<a href="https://github.com/BlackToppStudios/Mezzanine">@endhtmlonly
59
Github
60
@htmlonly</a>@endhtmlonly
61
, and a way to create build scripts to simplify compilation. We use a few more tools than that
62
in a typical day working on the Mezzanine and Catch!. To get a set of tools similar to our
63
please run the following:
64
@code
65
sudo apt-get install g++ gdb codeblocks qtcreator doxygen texlive-font-utils graphviz git-core pkg-config cmake-gui cmake autoconf pkg-config swig ninja-build mercurial
66
@endcode
67
68
@section dev_tools_linux_summary What Are the Tools
69
Most of the Tools are explained on the @ref cxx_training_and_tools page, but some we have
70
included here because they seem to get more use on Linux workstations.
71
72
- @htmlonly<a href="https://gcc.gnu.org/">@endhtmlonly
73
GCC — G++
74
@htmlonly</a>@endhtmlonly
75
— This is a C++ compiler,
76
@htmlonly<a href="http://clang.llvm.org/">@endhtmlonly Clang @htmlonly</a>@endhtmlonly
77
works also but at the time of this writing created slightly less optimal results.
78
79
- @htmlonly<a href="https://www.gnu.org/software/gdb/">@endhtmlonly
80
GCC – gdb
81
@htmlonly</a>@endhtmlonly
82
— The debugger that works with g++.
83
84
- @htmlonly<a href="http://www.cmake.org/">@endhtmlonly
85
CMake
86
@htmlonly</a>@endhtmlonly
87
— Cmake is a tool to aid in the compiling of specially setup programs, like the configuration of
88
the Ogre 3d library. If you are building any of the libraries that require CMake 3.2 and are
89
using Ubuntu 14.04 you will need to get a newer version of CMake than what the default Ubuntu
90
repos ship. The PPA https://launchpad.net/~george-edison55/+archive/ubuntu/cmake-3.x has 3.2
91
and some newer builds, you also have the option of building CMake from source or using another
92
PPA.
93
94
- @htmlonly<a href="http://www.codeblocks.org/">@endhtmlonly
95
Code::Blocks
96
@htmlonly</a>@endhtmlonly
97
or
98
@htmlonly<a href="http://www.qt.io/ide/">@endhtmlonly
99
QT Creator
100
@htmlonly</a>@endhtmlonly
101
— Both are Integrated Development Environments IDEs that bring most of these other tools
102
together into one friendly UI.
103
104
- @htmlonly<a href="http://www.stack.nl/~dimitri/doxygen/index.html">@endhtmlonly
105
Doxygen
106
@htmlonly</a>@endhtmlonly
107
— This is an tool for extracting documentation from source code. This is optional, as you can
108
use the documentation that we have built. But if you want the latest docs you might need to
109
built it yourself.
110
111
- @htmlonly<a href="http://graphviz.org/">@endhtmlonly
112
Graphviz
113
@htmlonly</a>@endhtmlonly
114
— Doxygen uses thiswhen building the API documentation to draw charts and graphs.
115
116
- @htmlonly<a href="https://launchpad.net/ubuntu/trusty/+package/texlive-font-utils">
117
@endhtmlonly
118
Texlive-font-utils
119
@htmlonly</a>@endhtmlonly
120
— Fonts used when creating PDF versions of the documentation.
121
122
123
- @htmlonly<a href="https://git-scm.com/">@endhtmlonly
124
Git
125
@htmlonly</a>@endhtmlonly
126
— Git is a powerful revision control system. We use to merge our progress and be certain
127
that we have the most recent version of the source code.
128
129
- @htmlonly<a href="http://www.gnu.org/software/autoconf/autoconf.html">@endhtmlonly
130
autoconf
131
@htmlonly</a>@endhtmlonly
132
and
133
@htmlonly<a href="http://www.freedesktop.org/wiki/Software/pkg-config/">@endhtmlonly
134
pkg-config
135
@htmlonly</a>@endhtmlonly
136
— These are older style tools used to create build scripts. SDL and maybe a few other libraies
137
require these for its build process. These are only of limited use and might even be optional
138
now that most libraries are integrated under the CMake build system.
139
140
- @htmlonly<a href="https://ninja-build.org/">@endhtmlonly
141
Ninja
142
@htmlonly</a>@endhtmlonly
143
— This is an optional faster alterative to using make. This seems to reduce build times by
144
around 20% from the command line, and a little less from IDEs.
145
146
- @htmlonly<a href="http://swig.org/">@endhtmlonly
147
SWIG
148
@htmlonly</a>@endhtmlonly
149
— Swig is used to create the bindings that connect scripting languages like Lua to the rest of
150
the Mezzanine.
151
152
- @htmlonly<a href="https://www.mercurial-scm.org/">@endhtmlonly
153
Mercurial
154
@htmlonly</a>@endhtmlonly
155
— SDL uses this as their primary source control tool.
156
157
@section dev_tools_linux_getting_source Getting the Source Code
158
Once you have the tools installed all you should have to do to get the code repository is run
159
the following command:
160
@code
161
git clone git://github.com/BlackToppStudios/Mezzanine.git
162
@endcode
163
164
@section dev_tools_linux_prepare_compilation Preparing for Compilation
165
Before you can compile the @ref mezzanine_engine and @ref catch_bang you will need to install
166
the libraries that the engine is built on top of. See the page on
167
@ref installing_engine_deps_linux for more details.
168
169
@section dev_tools_linux_what_next What’s next
170
If you aren’t comfortable with your coding skills you should read about
171
@ref cxx_training_and_tools. If you are comfortable with your coding skills and have the tools
172
installed reading up on the @ref engine_dependencies could be useful or you could go right onto
173
@ref building_the_engine if you think already have all the software installed.
174
175
*/
176
177
178
#endif
Generated on Wed Apr 6 2016 08:34:46 for BlackTopp Studios inc by
1.8.9.1. Thanks to the
Open Icon Library
for help with some of the icons.