building.docu 8.59 KB
Newer Older
Mike Kremer's avatar
Mike Kremer committed
1
/*! \page buildingOpenFlipper Building OpenFlipper
Mike Kremer's avatar
Mike Kremer committed
2
 *
Mike Kremer's avatar
Mike Kremer committed
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 * \section dependencies Dependencies
 * 
 * OpenFlipper is developed on top of the Qt framework. This framework provides
 * easy cross platform development. Therefore an installed version of qt with
 * at least version 4.5 is required. As the framework depends on qt we use the
 * qt make tool qmake to build OpenFlipper.
 *
 * \section reqlibs Required libraries
 * <ul>
 * <li> Qt >= 4.5 ( http://www.qtsoftware.com/downloads )</li>
 * <li> OpenGL    ( http://www.opengl.org )</li>
 * <li> GLUT        ( http://glew.sourceforge.net )</li>
 * <li> GLEW       ( http://www.opengl.org/resources/libraries/glut/ )</li>
 * <li> freetype2 ( optional http://www.freetype.org/freetype2/index.html )</li>
 * <li> ftgl           ( optional http://sourceforge.net/projects/ftgl/)</li>
 * </ul> 
Mike Kremer's avatar
Mike Kremer committed
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
 *
 * \section bs Build System
 * The build system uses either cmake or qmake to generate all makefiles.
 * Since v1.0 RC2 it is recommended to use cmake as primary build system.
 * Nevertheless qmake will still be supported, too. In this section we offer
 * descriptions for both build systems.
 *
 * - \ref build_cmake
 * - \ref build_qmake
 *
 * \section build_cmake Building OpenFlipper using Cmake
 *
 * For the following section CMake >= 2.6.x has to be installed.
 * In the toplevel directory of OpenFlipper is a CMakeLists.txt
 * file that specifies the build configuration and targets. In most cases
 * this file should be left untouched. Additional functions and environment
 * settings are to be found in the cmake directory in the toplevel folder.
 * See following subsections for information on how to build OpenFlipper
 * for your specific operating system.
 *
 * \subsection cmake_blinux Building OpenFlipper under Linux
 *
 * <ul>
 * <li> First install the required libraries (see above)<br />
 * <li> Extract the source code or get it via svn:<br />
 * <code><b> svn co http://www-i8.informatik.rwth-aachen.de/svnrepo/OpenFlipper/branches/Free OpenFlipper</b></code></li>
 * <li> Create a build directory (e.g. <b>build</b>) in the toplevel directory: <code><b>mkdir build</b></code></li>
 * <li> Change to the newly created directory <code><b>cd build</b></code> and type <code><b>cmake ..</b></code></li>
 * <li> Now call  <b>make</b> to build OpenFlipper </li>
 * </ul>
 *
 * The created application (binaries, libs and shared files) are to be found in the <b>Build</b>
 * directory.
 *
 * \subsection cmake_bwin Building OpenFlipper under Windows
 *
 * <ul>
 * <li> Get Visual Studio 2008 </li>
 * <li> Get and Install Qt ( >= 4.5 ) </li>
 * <li> Set the QTDIR Variable to your Qt Installation directory </li>
 * <li> Extract OpenFlipper source code. </li>
 * <li> Get all required libraries and install them ( including headers! ).</li>
Jan Möbius's avatar
Jan Möbius committed
61
62
63
64
65
66
 * <li> Get cmake for windows from http://www.cmake.org/cmake/resources/software.html <li>
 * <li> Start the cmake gui and open the OpenFlipper toplevel directory </li>
 * <li> Choose a build directory</li>
 * <li> Click on configure .... If any libraries are left unconfigured, you can adjust the path in the ui. Rerun configure until everything is configured correctly</li>
 * <li> Click generate to create the visual studio project files </li>
 * <li> You can now find a Visual Studio solution file in the <b>build</b> directory you chose in cmake </li>
Mike Kremer's avatar
Mike Kremer committed
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
 * <li> Now you can build OpenFlipper from within Visual Studio using the newly created project file. </li>
 * </ul> 
 *
 * \subsection cmake_bmacos Building OpenFlipper under MacOS X
 *
  * <ul>
 * <li> First install the required libraries (see above)<br />
 * <li> Extract the source code or get it via svn:<br />
 * <code><b> svn co http://www-i8.informatik.rwth-aachen.de/svnrepo/OpenFlipper/branches/Free OpenFlipper</b></code></li>
 * <li> Create a build directory (e.g. <b>build</b>) in the toplevel directory: <code><b>mkdir build</b></code></li>
 * <li> Change to the newly created directory <code><b>cd build</b></code> and type <code><b>cmake ..</b></code></li>
 * <li> Now call  <b>make</b> to build OpenFlipper </li>
 * </ul>
 *
 * The created application bundle (that contains binaries, libs and shared files) is to be found in the <b>Build</b>
 * directory.
 *
 * \section build_qmake Building OpenFlipper using Qmake
 *
 * In the toplevel directory of OpenFlipper is a .qmake.cache file
 * which defines the variable TOPLEVEL available in all qmake project files.
 * This file also includes our qmake configuration in the
 * qmake subdirectory. The files in this directory control the build process for the 
 * core as well as for the plugins. Library dependencies are specified in the project
 * files by calling functions which will check for the requested libs. These functions are
 * defined in architecture dependend files under qmake/packages . If you get errors
 * about libraries not found, please change the paths in these configuration files.
Mike Kremer's avatar
Mike Kremer committed
94
 * 
Mike Kremer's avatar
Mike Kremer committed
95
 * \subsection blinux Building OpenFlipper under Linux
Mike Kremer's avatar
Mike Kremer committed
96
97
98
99
100
101
 * <ul>
 * <li> First extract the source code or get it via svn:<br />
 * <code><b> svn co http://www-i8.informatik.rwth-aachen.de/svnrepo/OpenFlipper/branches/Free OpenFlipper</b></code></li>
 * <li> Get all required libraries and install them ( including headers! ).</li>
 * <li> Go to the qmake/packages directory and change the packages.<Architecture > files to match the library paths</li>
 * <li> In the toplevel Directory call <b> qmake </b> ( It should be the qmake Version for qt4! Debian uses for example qmake-qt4 ) 
Mike Kremer's avatar
Mike Kremer committed
102
 *         This will build the Makefiles</li>
Mike Kremer's avatar
Mike Kremer committed
103
104
105
106
107
108
 * <li> Now call  <b> make </b> to build OpenFlipper </li>
 * </ul> 
 *
 * After building OpenFlipper the Core can be found in the OpenFlipper/<OperatingSystem>_<Arch>_Release.
 * The plugins are build in the OpenFlipper/Plugins directory.
 * 
Mike Kremer's avatar
Mike Kremer committed
109
 * \subsection bwin Building OpenFlipper under Windows
Mike Kremer's avatar
Mike Kremer committed
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
 *
 * <ul>
 * <li> Get Visual Studio 2008 </li>
 * <li> Get and Install Qt ( >= 4.5 ) </li>
 * <li> Set the QTDIR Variable to your Qt Installation directory </li>
 * <li> Extract OpenFlipper source code. </li>
 * <li> Get all required libraries and install them ( including headers! ).</li>
 * <li> Open <code><b> OpenMesh\qmake\packages\packages.Windows </b></code> in a text editor and change header and library paths<br>
 * such that they match the ones installed (see comments to find path entries).</li>
 * <li> Open Visual Studio 2008 and go to Tools->Visual Studio command prompt</li>
 * <li> Go to the toplevel OpenFlipper directory </li>
 * <li> Call <b> qmake -spec win32-msvc2008 -r </b> ( It should be the qmake Version for qt4! ) 
           This will build Visual Studio project files and a solution file.</li>
 * <li> Open the OpenFlipper.sln file in the toplevel directory. </li>
 * <li> Now you can build OpenFlipper from within Visual Studio. </li>
 * </ul> 
 * 
 * After building OpenFlipper the Core can be found in the OpenFlipper/Windows_<Arch>_Release.
 * The plugins are build in the OpenFlipper/Plugins directory.
 *
Mike Kremer's avatar
Mike Kremer committed
130
 * \subsection bmac Building OpenFlipper under MacOS X
Mike Kremer's avatar
Mike Kremer committed
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
 * 
 * - Download and install latest Xcode Tools (including gcc)
 * - Download and install Qt (>= 4.5)
 * - Install required libraries (using a portage system like MacPorts is recommended)
 * - Download and extract OpenFlipper sources<br />
 * 	 (or download via svn:<code><b> svn co http://www-i8.informatik.rwth-aachen.de/svnrepo/OpenFlipper/branches/Free OpenFlipper</b></code>)
 * - Adapt library and header paths in <code><b> $OpenFlipper/qmake/packages/packages.Darwin </b></code>
 * - Go into OpenFlipper's root directory and type <code><b> qmake -spec macx-g++ </b></code>
 * - Type <code><b>make qmake_all</b></code> to build all Makefiles
 * - Now type <code><b>make release</b></code> to build OpenFlipper 
 * - Execute <code><b>Build_Darwin_Bundle.sh</b></code> in OpenFlipper's root directory to correct install_name paths within the application bundle
 *
 * <b>IMPORTANT: If you don't see any icons in the application you probably might have
 * forgot the last step which manages to copy the <i>Icons</i>, <i>Textures</i>, <i>Shaders</i> and <i>Fonts</i> 
 * directories into the application bundle's resource folder. It further fixes library header paths
 * such that the application bundle can be copied anywhere without getting trouble
 * with missing libraries.</b>
 *
 * After building OpenFlipper the application bundle can be found in OpenFlipper/Darwin_<Arch>_Release.
 * The plugins are build into the application bundle's Resources directory.
 *
 * Note: If you don't want qmake to build OpenFlipper as MacOS X application bundle
 * you have to uncomment line <br /><br /><code><b># CONFIG -= app_bundle  # Do not build a framework bundle</b></code><br /><br />
Mike Kremer's avatar
Mike Kremer committed
154
 * in file <code>$OpenFlipper/qmake/all.include</code>.
Mike Kremer's avatar
Mike Kremer committed
155
 */