diff --git a/Documentation/DeveloperHelpSources/building.docu b/Documentation/DeveloperHelpSources/building.docu index c6aa0846da65d450124d3a65d2f70209791f5b20..f7545eaba5c6d23db6230ed3695a94e88aba43ce 100644 --- a/Documentation/DeveloperHelpSources/building.docu +++ b/Documentation/DeveloperHelpSources/building.docu @@ -4,13 +4,12 @@ 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 5.5.1 is required. We use the cmake MakeFile generator to build +at least version 5.8 is required. We use the cmake MakeFile generator to build OpenFlipper. \section reqlibs Required libraries \section optlibs Optional libraries ( Without these libraries some functionality might not be available) @@ -23,12 +22,10 @@ The build system uses cmake to generate all makefiles. \section build_cmake Building OpenFlipper using Cmake -For the following section CMake >= 2.8.4 has to be installed. +For the following section CMake >= 3.12 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 +file that specifies the build configuration and targets. +See the following subsections for information on how to build OpenFlipper for your specific operating system. \subsection cmake_blinux Building OpenFlipper under Linux @@ -36,14 +33,14 @@ for your specific operating system. To switch between debug and release build, use
-cmake -DCMAKE_BUILD_TYPE=Release ..
+cmake -DCMAKE_BUILD_TYPE=Release ../OpenFlipper-Free

To change the install path use
-DCMAKE_INSTALL_PREFIX=[path]
@@ -54,33 +51,22 @@ directory. \subsection cmake_bwin Building OpenFlipper under Windows -\note If you want to build OpenFlipper as release on windows, you don't have to set the CMAKE_BUILD_TYPE variable to "Release" before configuring - generating the Visual Studio solution file. Instead, choose the build type "Release" in Visual Studio and build the solution. Console outputs are only available in Visual Studio, when the "Debug" configuration is selected, or the -c option is passed as command line option. +\note If you want to build OpenFlipper as release on windows, you don't have to set the CMAKE_BUILD_TYPE variable to "Release" before configuring generating the Visual Studio solution file. Instead, choose the build type "Release" in Visual Studio and build the solution. Console outputs are only available in Visual Studio, when the "Debug" configuration is selected, or the -c option is passed as command line option. \note If you want to use the intel 16 compiler with VS2013 or newer you can do so by specifying the toolset for cmake and enabling c++11 for intel 16 (e.g. set CXXFLAGS="/Qstd=c++0x" and run cmake with the command line argument -T"Intel C++ Compiler 16.0") @@ -116,7 +101,6 @@ Don't forget setting up the "OpenFlipper" target as startup project as shown in
Install at least the following ports:
qt4-mac +debug
- glew
cmake
br /> As additional ports we recommend the following
@@ -125,9 +109,9 @@ br /> subversion
doxygen
  • Extract the source code or get it via svn:
    - svn co http://www-i8.informatik.rwth-aachen.de/svnrepo/OpenFlipper/branches/Free OpenFlipper
  • -
  • Create a build directory (e.g. build) in the toplevel directory: mkdir build
  • -
  • Change to the newly created directory ( cd build ) and type cmake .. or if you want to build in release mode type cmake -DCMAKE_BUILD_TYPE=Release .. + git clone --recursive https://graphics.rwth-aachen.de:9000/OpenFlipper-Free/OpenFlipper-Free.git OpenFlipper-Free
  • +
  • Create a build directory (e.g. build) next to the OpenFlipper-Free directory: mkdir build
  • +
  • Change to the newly created directory ( cd build ) and type cmake ../OpenFlipper-Free or if you want to build in release mode type cmake -DCMAKE_BUILD_TYPE=Release ../OpenFlipper-Free
    You can also enable bundle creation by adding -DOPENFLIPPER_CALL_FIX_BUNDLE=true to the cmake command line (If you want a bundle containing all required libraries. Otherwise, the libraries will be used at their original locations.)
  • Now call make to build OpenFlipper
  • diff --git a/Documentation/DeveloperHelpSources/example/cmake_plugin_usage.txt b/Documentation/DeveloperHelpSources/example/cmake_plugin_usage.txt index aa45ddffe54af8c2b849715003ab98abe7fedbcc..748df4a27b922669767850ccf34b06d3a8d8bd24 100644 --- a/Documentation/DeveloperHelpSources/example/cmake_plugin_usage.txt +++ b/Documentation/DeveloperHelpSources/example/cmake_plugin_usage.txt @@ -1,35 +1,47 @@ openflipper_plugin ( [DIRS dir1 dir2 ...] + [TYPES type1 type2 ...] + [OPT_TYPES type1 type2 ...] [DEPS dep1 dep2 ...] [OPTDEPS dep1 dep2 ...] [LDFLAGSADD flag1 flag2 ...] [CFLAGSADD flag1 flag2 ...] + [CDEFINITIONSADD definition1 definition2 ...] [LIBRARIES lib1 lib2 ...] + [ADD_CORE_APP_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, if found, define ENABLE_ will be set automatically -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 + [LICENSEMANAGER] + [PYTHONINTERFACE] ) + + +DIRS = additional directories with source files +TYPES = List of datatypes required by this plugin (uppercase) +OPT_TYPES = List of optional datatypes for this plugin (uppercase) +DEPS = required dependencies for find_package macro +OPTDEPS = optional dependencies for find_package macro, if found, a define ENABLE_ will be added automatically +LDFLAGSADD = flags added to the link command +CFLAGSADD = flags added to the compile command +CDEFINITIONSADD = definitions added to the compile command +LIBRARIES = libraries added to link command +ADD_CORE_APP_LIBRARIES = libraries added to be linked to the core app +LIBDIRS = additional link directories +INCDIRS = additional include directories +ADDSRC = additional source files +INSTALLDATA = directories that will be installed into the openflipper data directory +GLEWDEFINITIONS = Checks glew if it defines the given definitions TRANSLATION_LANGUAGES = language codes for translation TRANSLATION_ADDFILES = additional files that should be included into the translation files -LICENSEMANAGER = Compile plugin with license management +LICENSEMANAGER = Compile plugin with license management +PYTHONINTERFACE = if defined, the plugin will try to build a python interface which has to be in a subdirectory called PythonInterface Plugins can implement a acg_list_filter ("listname") macro to filter out -unneeded headers, sources and ui files from the autogenerated +unneeded headers, sources and ui files from the autogenerated build sources lists (see common.cmake drop_templates macro) Translations @@ -37,10 +49,12 @@ Create a subdirectory called translations in your Plugin directory The *.ts files there will be used for the translations Special DEPS: -CUDA: +CUDA: If your plugin requires cuda, add "CUDA" to the list of dependencies and create a subdir called Cuda in your plugin directory The files in this directory will be compiled by nvcc and linked into the plugin +The variables PLUGIN_${plugin}_MISSING_DEPS indicate whether any mandatory +dep