building.docu 7.81 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 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
 *
 * \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>
 *
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>
Mike Kremer's avatar
Mike Kremer 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
 */