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. We use the cmake MakeFile generator to build OpenFlipper.
The build system uses cmake to generate all makefiles.
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.
svn co http://www-i8.informatik.rwth-aachen.de/svnrepo/OpenFlipper/branches/Free OpenFlipper mkdir build cd build and type cmake .. To switch between debug and release build, use
cmake -DCMAKE_BUILD_TYPE=Release ..
To change the install path use
-DCMAKE_INSTALL_PREFIX=[path]
The created application (binaries, libs and shared files) are located in the Build directory.
build-release in OpenFlipper's root dir)
Note: If you want to build OpenFlipper as release, you have to set the CMAKE_BUILD_TYPE variable to "Release" before configuring and generating the Visual Studio solution file. Choose then build type "Release" in Visual Studio and build the solution.
svn co http://www-i8.informatik.rwth-aachen.de/svnrepo/OpenFlipper/branches/Free OpenFlipper mkdir build cd build ) and type cmake .. or if you want to build in release mode type cmake -DCMAKE_BUILD_TYPE=Release .. The created application bundle (that contains binaries, libs and shared files) can be found in the Build directory.
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:
include(plugin)
You then have to add the following line which configures the build parameters of your plugin:
openflipper_plugin()
Note: There are several parameters that one can pass to this function. Usage:
openflipper_plugin ( [DIRS dir1 dir2 ...]
[DEPS dep1 dep2 ...]
[OPTDEPS dep1 dep2 ...]
[LDFLAGSADD flag1 flag2 ...]
[CFLAGSADD flag1 flag2 ...]
[LIBRARIES lib1 lib2 ...]
[LIBDIRS dir1 dir2 ...]
[INCDIRS dir1 dir2 ...]
[ADDSRC file1 file2 ...]
[INSTALLDATA dir1 dir2 ...]
[TRANSLATION_LANGUAGES lang1 lang2 ...]
[TRANSLATION_ADDFILES file1 file2 ...]
[LICENSEMANAGER])
DIRS = additional directories with source files
DEPS = required dependencies for find_package macro
OPTDEPS = optional dependencies for find_package macro
LDFLAGSADD = flags added to the link command
CFLAGSADD = flags added to the compile command
LIBRARIES = libraries added to link command
LIBDIRS = additional link directories
INCDIRS = additional include directories
ADDSRC = additional source files
INSTALLDATA = directories that will be installed into the openflipper data directory
TRANSLATION_LANGUAGES = language codes for translation
TRANSLATION_ADDFILES = additional files that should be included into the translation files
LICENSEMANAGER = Compile plugin with license management
For a detailed description of the parameters see the CMake documentation. For an example of how to build a simple plugin see A simple plugin.