building.docu 5.19 KB
Newer Older
Jan Möbius's avatar
Jan Möbius committed
1 2 3 4 5
/*! \page buildingOpenFlipper Building OpenFlipper
 * \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
Mike Kremer's avatar
Mike Kremer committed
6
 * at least version 4.5 is required. As the framework depends on qt we use the
Jan Möbius's avatar
Jan Möbius committed
7 8
 * qt make tool qmake to build OpenFlipper.
 *
Mike Kremer's avatar
Mike Kremer committed
9
 * \section bs Build System
Jan Möbius's avatar
Jan Möbius committed
10 11 12 13
 * The build system uses qmake to generate all makefiles. 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 
Mike Kremer's avatar
Mike Kremer committed
14
 * core as well as for the plugins. Library dependencies are specified in the project
Jan Möbius's avatar
Jan Möbius committed
15 16 17 18
 * 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
19
 * \section reqlibs Required libraries
Jan Möbius's avatar
Jan Möbius committed
20
 * <ul>
Jan Möbius's avatar
Jan Möbius committed
21 22 23
 * <li> Qt >= 4.5 ( http://www.qtsoftware.com/downloads )</li>
 * <li> OpenGL    ( http://www.opengl.org )</li>
 * <li> GLUT        ( http://glew.sourceforge.net )</li>
Jan Möbius's avatar
Jan Möbius committed
24
 * <li> GLEW       ( http://www.opengl.org/resources/libraries/glut/ )</li>
Jan Möbius's avatar
Jan Möbius committed
25 26
 * <li> freetype2 ( optional http://www.freetype.org/freetype2/index.html )</li>
 * <li> ftgl           ( optional http://sourceforge.net/projects/ftgl/)</li>
Jan Möbius's avatar
Jan Möbius committed
27 28
 * </ul> 
 * 
Mike Kremer's avatar
Mike Kremer committed
29
 * \section blinux Building OpenFlipper under Linux
Jan Möbius's avatar
Jan Möbius committed
30
 * <ul>
Mike Kremer's avatar
Mike Kremer committed
31 32
 * <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>
Jan Möbius's avatar
Jan Möbius committed
33 34 35 36 37 38 39 40
 * <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 ) 
           This will build the Makefiles</li>
 * <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.
Mike Kremer's avatar
Mike Kremer committed
41
 * The plugins are build in the OpenFlipper/Plugins directory.
Jan Möbius's avatar
Jan Möbius committed
42
 * 
Mike Kremer's avatar
Mike Kremer committed
43
 * \section bwin Building OpenFlipper under Windows
44
 *
Jan Möbius's avatar
Jan Möbius committed
45 46
 * <ul>
 * <li> Get Visual Studio 2008 </li>
47 48 49
 * <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>
Jan Möbius's avatar
Jan Möbius committed
50
 * <li> Get all required libraries and install them ( including headers! ).</li>
Mike Kremer's avatar
Mike Kremer committed
51
 * <li> Open <code><b> OpenMesh\qmake\packages\packages.Windows </b></code> in a text editor and change header and library paths<br>
52
 * such that they match the ones installed (see comments to find path entries).</li>
Jan Möbius's avatar
Jan Möbius committed
53 54
 * <li> Open Visual Studio 2008 and go to Tools->Visual Studio command prompt</li>
 * <li> Go to the toplevel OpenFlipper directory </li>
55
 * <li> Call <b> qmake -spec win32-msvc2008 -r </b> ( It should be the qmake Version for qt4! ) 
Jan Möbius's avatar
Jan Möbius committed
56 57 58 59 60 61
           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.
Mike Kremer's avatar
Mike Kremer committed
62
 * The plugins are build in the OpenFlipper/Plugins directory.
Jan Möbius's avatar
Jan Möbius committed
63
 *
Mike Kremer's avatar
Mike Kremer committed
64
 * \section bmac Building OpenFlipper under MacOS X
Mike Kremer's avatar
Mike Kremer committed
65 66 67 68 69 70
 * 
 * - 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>)
Mike Kremer's avatar
Mike Kremer committed
71
 * - Adapt library and header paths in <code><b> $OpenFlipper/qmake/packages/packages.Darwin </b></code>
Mike Kremer's avatar
Mike Kremer committed
72
 * - Go into OpenFlipper's root directory and type <code><b> qmake -spec macx-g++ -o Makefile </b></code>
Mike Kremer's avatar
Mike Kremer committed
73
 * - Now type <code><b>make release</b></code> to build OpenFlipper as application bundle (if that does not work, build debug version first)
Mike Kremer's avatar
Mike Kremer committed
74 75
 * - Execute <code><b>Build_Darwin_Bundle.sh</b></code> in OpenFlipper's root directory to correct install_name paths within the application bundle
 *
Mike Kremer's avatar
Mike Kremer committed
76 77 78
 * 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.
 *
Mike Kremer's avatar
Mike Kremer committed
79
 * Note: If you don't want qmake to build OpenFlipper as MacOS X application bundle
80 81 82 83
 * you have to uncomment line <br /><br /><code><b># CONFIG -= app_bundle  # Do not build a framework bundle</b></code><br /><br />
 * of function <code>defineTest(Application)</code> and comment out line<br /><br />
 * <code><b>DESTDIR = $${TOPDIR}/OpenFlipper/$${BUILDDIRECTORY}/OpenFlipper.app/Contents/Plugins/$${SYSTEMTYPE}/$${ARCHITECTURE}/$${MODE}</b></code><br /><br />
 * of function <code>defineTest(Plugin)</code> in file <code>$OpenFlipper/qmake/all.include</code>.
Jan Möbius's avatar
Jan Möbius committed
84
 */