building.docu 7.79 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
 * \section dependencies Dependencies
 * 
 * OpenFlipper is developed on top of the Qt framework. This framework provides
Jan Möbius's avatar
Jan Möbius committed
6
7
 * easy cross platform development. Therefore an installed version of QT with
 * at least version 4.6 is required. We use the cmake MakeFile generator to build 
Jan Möbius's avatar
Jan Möbius committed
8
 * OpenFlipper.
Mike Kremer's avatar
Mike Kremer committed
9
10
11
 *
 * \section reqlibs Required libraries
 * <ul>
Jan Möbius's avatar
Jan Möbius committed
12
 * <li> Qt >= 4.6 ( http://www.qtsoftware.com/downloads )</li>
13
14
 * <li> GLUT      ( http://www.opengl.org/resources/libraries/glut/ )</li>
 * <li> GLEW      ( http://glew.sourceforge.net )</li>
Mike Kremer's avatar
Mike Kremer committed
15
 * <li> freetype2 ( optional http://www.freetype.org/freetype2/index.html )</li>
16
 * <li> ftgl      ( optional http://sourceforge.net/projects/ftgl/)</li>
Mike Kremer's avatar
Mike Kremer committed
17
 * </ul> 
Mike Kremer's avatar
Mike Kremer committed
18
19
 *
 * \section bs Build System
20
 * The build system uses cmake to generate all makefiles.
Mike Kremer's avatar
Mike Kremer committed
21
22
23
 *
 * \section build_cmake Building OpenFlipper using Cmake
 *
Jan Möbius's avatar
Jan Möbius committed
24
 * For the following section CMake >= 2.8.4 has to be installed.
Mike Kremer's avatar
Mike Kremer committed
25
26
27
28
29
30
31
32
33
34
35
36
 * 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 />
Jan Möbius's avatar
Jan Möbius committed
37
 * <code><b> svn co http://www.openflipper.org/svnrepo/OpenFlipper/branches/Free OpenFlipper</b></code></li>
Mike Kremer's avatar
Mike Kremer committed
38
39
40
41
42
 * <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>
 *
43
44
45
46
47
 * To switch between debug and release build, use <br />
 * <b>cmake -DCMAKE_BUILD_TYPE=Release ..</b><br />
 * <br />
 * To change the install path use<br />
 * <b>-DCMAKE_INSTALL_PREFIX=[path]</b><br />
Jan Möbius's avatar
Jan Möbius committed
48
 *
49
 * The created application (binaries, libs and shared files) are located in the <b>Build</b>
Mike Kremer's avatar
Mike Kremer committed
50
51
52
53
54
 * directory.
 *
 * \subsection cmake_bwin Building OpenFlipper under Windows
 *
 * <ul>
Jan Möbius's avatar
Jan Möbius committed
55
 * <li> Get Visual Studio 2008 </li>
Jan Möbius's avatar
Jan Möbius committed
56
 * <li> Get and Install Qt ( >= 4.6 , Visual Studio Version ) </li>
57
 * <li> Set the QTDIR Variable to your Qt Installation directory:<br />
Jan Möbius's avatar
Jan Möbius committed
58
 * <br />
59
60
61
62
63
64
65
 *      <b>Windows Vista/7:</b> <br />
 *      Open the Control Panel<br />
 *      Select System and Security -> System -> Advanced System settings<br />
 *      Click on "Advanced" tab<br />
 *      At the bottom click on "Environment Variables"<br />
 *      In the bottom window,check if there is already a QTDIR entry and modify it or use "Add" to create it<br />
 *      Set the path to your QT installation directory<br />
Jan Möbius's avatar
Jan Möbius committed
66
 * <br />
67
68
69
70
71
72
73
 *      <b>Windows XP:</b> <br />
 *      Open the Control Panel<br />
 *      Select System<br />
 *      Click on "Advanced" tab<br />
 *      At the bottom click on "Environment Variables"<br />
 *      In the bottom window,check if there is already a QTDIR entry and modify it or use "Add" to create it<br />
 *      Set the path to your QT installation directory<br />
Jan Möbius's avatar
Jan Möbius committed
74
75
 * <br />
 * </li>
76
 * <li> Extract OpenFlipper source code. ( If you want to use svn  you can get a free svn client from http://tortoisesvn.net/downloads ) </li>
Jan Möbius's avatar
Jan Möbius committed
77
78
 * <li> Download the glew library and install it (The best way is to install it to c:\\libs\\glew directory ).)<br />
        The c:\\libs\\glew\\lib subdirectory should contain the dll and the *.lib files)<br />
79
        The headers should be located in the c:\\libs\\glew\\include\\gl subdirectory</li>
Jan Möbius's avatar
Jan Möbius committed
80
81
 * <li> Rearrange the files in the glut-3.7 directory such that)<br />
        all *.lib and *.dll files are in a c:\\libs\\glut-3.7\\lib subdirectory)<br />
82
        and the glut.h file is moved to the subdirectory c:\\libs\\glut-3.7\\include\\gl\\glut.h</li>
Jan Möbius's avatar
Jan Möbius committed
83
 * <li> Get cmake for windows from http://www.cmake.org/cmake/resources/software.html <li>
84
 * <li> Start the cmake gui and select the OpenFlipper toplevel directory as source directory </li>
85
86
87
88
89
90
 * \image html cmake-source.png
 * <li> Choose a build directory (e.g. a subdirectory called \c build-release in OpenFlipper's root dir)</li>
 * \image html cmake-builddir.png
 * <li> Click on configure </li>
 * \image html cmake-configuregenerate.png
 * <li>Choose a generator for Visual Studio (according to your Visual Studio version)....</li>
91
 * \image html cmake-generator.png
92
93
94
95
 * <li>
 * If the configuration fails because of libraries and/or headers which have not been found, an error message will be printed in the bottom window.
 * You can adjust the paths in cmake-gui manually in the large window. Note that some build variables are only visible in Advanced Mode.
 * You can change view modes of cmake-gui via the select box on the top. </li>
Jan Möbius's avatar
Jan Möbius committed
96
 * <li>Rerun configure until everything is configured correctly and no more red rows or errors are shown.</li>
97
 * <li> Click generate to create the visual studio project files </li>
98
 * <li> You can now find a Visual Studio solution file (OpenFlipper.sln) in the <b>build directory</b> directory you chose in cmake.</li>
99
 * <li> Now you can build OpenFlipper from within Visual Studio using the newly created project file by starting Build Solution. </li>
Mike Kremer's avatar
Mike Kremer committed
100
101
 * </ul> 
 *
102
 * Note: If you want to build OpenFlipper as release, you have to set the CMAKE_BUILD_TYPE variable to "Release" before configuring
Jan Möbius's avatar
Jan Möbius committed
103
 * and generating the Visual Studio solution file. Choose then build type "Release" in Visual Studio and build the solution.
104
 * \image html cmake-buildtype.png
105
 *
Mike Kremer's avatar
Mike Kremer committed
106
107
 * \subsection cmake_bmacos Building OpenFlipper under MacOS X
 *
108
 * <ul>
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
 * <li> First install the required libraries<br />
 *      To get all required libraries you should use the macports project: http://www.macports.org/ <br />
 *      <br />
 *      Install at least the following ports: <br />
 *      qt4-mac<br />
 *      glew<br />
 *      glut<br />
 *      cmake<br />
 *<br />
 *      As additional ports we recommend the following<br />
 *      ftgl<br />
 *      fftw-3<br />
 *      qwt52<br />
 *      subversion<br />
 *      doxygen<br />
Mike Kremer's avatar
Mike Kremer committed
124
125
126
 * <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>
127
128
 * <li> Change to the newly created directory ( <code><b>cd build</b></code> ) and type <code><b>cmake ..</b></code> or if you want to build in release mode type <code><b> cmake -DCMAKE_BUILD_TYPE=Release ..</b></code></li>
 * <li> Now call <b>make</b> to build OpenFlipper </li>
Mike Kremer's avatar
Mike Kremer committed
129
130
 * </ul>
 *
131
 * The created application bundle (that contains binaries, libs and shared files) can be found in the <b>Build</b>
Mike Kremer's avatar
Mike Kremer committed
132
133
 * directory.
 *
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
 * \section cmake_plugin Building OpenFlipper Plugins with CMake
 *
 * Building plugins with CMake is very simple. The OpenFlipper CMake build system
 * expects a CMakeLists.txt file in each of the plugin's directories.
 * So when developing a plugin, just make sure there is a CMakeLists.txt in
 * your plugin's directory. In this file include the global file plugin.cmake
 * which specifies the openflipper_plugin() function:
 *
 * <code>include(plugin)</code>
 *
 * You then have to add the following line which configures the build parameters
 * of your plugin:
 *
 * <code>openflipper_plugin()</code>
 *
 * Note: There are several parameters that one can pass to this function.
 * Usage:
 *
 * \include example/cmake_plugin_usage.txt
 *
 * For a detailed description of the parameters see the CMake documentation.
 * For an example of how to build a simple plugin see \ref ex1.
 *
Mike Kremer's avatar
Mike Kremer committed
157
 */