diff --git a/cmake/ACGQt.cmake b/cmake/ACGQt.cmake
index 7bf76c84590bd6e18b902f46979410a3c8bee10b..9370daba30e448dad880bfa35afa0cc5978b49c4 100644
--- a/cmake/ACGQt.cmake
+++ b/cmake/ACGQt.cmake
@@ -12,13 +12,13 @@ endmacro()
 
 macro (acg_qt5)
 
-   if(POLICY CMP0020)
-     # Automatically link Qt executables to qtmain target on Windows
-     cmake_policy(SET CMP0020 NEW)
-   endif(POLICY CMP0020)
+  if(POLICY CMP0020)
+    # Automatically link Qt executables to qtmain target on Windows
+    cmake_policy(SET CMP0020 NEW)
+  endif(POLICY CMP0020)
   #if (NOT QT5_FOUND)
 
-    #set (QT_MIN_VERSION ${ARGN})
+  #set (QT_MIN_VERSION ${ARGN})
 
   #try to find qt5 automatically
   #for custom installation of qt5, dont use any of these variables
@@ -34,46 +34,71 @@ macro (acg_qt5)
   # compute default search paths
   set(SUPPORTED_QT_VERSIONS 5.9 5.8 5.7 5.6)
   foreach (suffix gcc_64 clang_64)
-     foreach(version ${SUPPORTED_QT_VERSIONS})
-         list(APPEND QT_DEFAULT_PATH "~/sw/Qt/${version}/${suffix}")
-     endforeach()
+    foreach(version ${SUPPORTED_QT_VERSIONS})
+      list(APPEND QT_DEFAULT_PATH "~/sw/Qt/${version}/${suffix}")
+    endforeach()
   endforeach()
 
+  set(QT5_REQUIRED_PACKAGES
+    Qt5Core
+    Qt5Widgets
+    Qt5Gui
+    Qt5OpenGL
+    Qt5Network
+    Qt5Sql
+    Qt5Script
+    Qt5ScriptTools
+    Qt5Xml
+    Qt5XmlPatterns
+    Qt5Help
+    Qt5UiTools
+    Qt5Svg
+    Qt5PrintSupport
+    Qt5Concurrent
+    )
+
   find_package (Qt5Core PATHS ${QT_DEFAULT_PATH} ${QT5_FINDER_FLAGS})
   if(Qt5Core_FOUND)
 
-      if(Qt5Core_VERSION) # use the new version variable if it is set
-          set(Qt5Core_VERSION_STRING ${Qt5Core_VERSION})
-      endif(Qt5Core_VERSION)
-
-      string(REGEX REPLACE "^([0-9]+)\\.[0-9]+\\.[0-9]+.*" "\\1" QT_VERSION_MAJOR "${Qt5Core_VERSION_STRING}")
-      string(REGEX REPLACE "^[0-9]+\\.([0-9]+)\\.[0-9]+.*" "\\1" QT_VERSION_MINOR "${Qt5Core_VERSION_STRING}")
-      string(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" QT_VERSION_PATCH "${Qt5Core_VERSION_STRING}")
-
-    find_package (Qt5Widgets QUIET PATHS ${QT_DEFAULT_PATH} ${QT5_FINDER_FLAGS})
-    find_package (Qt5Gui QUIET PATHS ${QT_DEFAULT_PATH} ${QT5_FINDER_FLAGS})
-    find_package (Qt5OpenGL QUIET PATHS ${QT_DEFAULT_PATH} ${QT5_FINDER_FLAGS})
-    find_package (Qt5Network QUIET PATHS ${QT_DEFAULT_PATH} ${QT5_FINDER_FLAGS})
-    find_package (Qt5Sql QUIET PATHS ${QT_DEFAULT_PATH} ${QT5_FINDER_FLAGS})
-    find_package (Qt5Script QUIET PATHS ${QT_DEFAULT_PATH} ${QT5_FINDER_FLAGS})
-    find_package (Qt5ScriptTools QUIET PATHS ${QT_DEFAULT_PATH} ${QT5_FINDER_FLAGS})
-    find_package (Qt5Xml QUIET PATHS ${QT_DEFAULT_PATH} ${QT5_FINDER_FLAGS})
-    find_package (Qt5XmlPatterns QUIET PATHS ${QT_DEFAULT_PATH} ${QT5_FINDER_FLAGS})
-    find_package (Qt5Help QUIET PATHS ${QT_DEFAULT_PATH} ${QT5_FINDER_FLAGS})
-    find_package (Qt5UiTools QUIET PATHS ${QT_DEFAULT_PATH} ${QT5_FINDER_FLAGS})
-    find_package (Qt5Svg QUIET PATHS ${QT_DEFAULT_PATH} ${QT5_FINDER_FLAGS})
-    find_package (Qt5PrintSupport QUIET PATHS ${QT_DEFAULT_PATH} ${QT5_FINDER_FLAGS})
-    find_package (Qt5Concurrent QUIET PATHS ${QT_DEFAULT_PATH} ${QT5_FINDER_FLAGS})
-
-    #do noot look for Webkit and qt declarative on qt version 5.6 or newer
+    if(Qt5Core_VERSION) # use the new version variable if it is set
+      set(Qt5Core_VERSION_STRING ${Qt5Core_VERSION})
+    endif(Qt5Core_VERSION)
+
+    string(REGEX REPLACE "^([0-9]+)\\.[0-9]+\\.[0-9]+.*" "\\1"
+      QT_VERSION_MAJOR "${Qt5Core_VERSION_STRING}")
+    string(REGEX REPLACE "^[0-9]+\\.([0-9]+)\\.[0-9]+.*" "\\1"
+      QT_VERSION_MINOR "${Qt5Core_VERSION_STRING}")
+    string(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1"
+      QT_VERSION_PATCH "${Qt5Core_VERSION_STRING}")
+
+    # QtWebkit and QtDeclarative deprecated in 5.6
     if(${QT_VERSION_MINOR} LESS 6)
-        find_package (Qt5Declarative QUIET PATHS ${QT_DEFAULT_PATH} ${QT5_FINDER_FLAGS})
-        find_package (Qt5WebKit QUIET PATHS ${QT_DEFAULT_PATH} ${QT5_FINDER_FLAGS})
+      list(APPEND QT5_REQUIRED_PACKAGES
+        Qt5Declarative
+        Qt5WebKit
+        )
+      # QtDeclarative renamed to QtQuick starting from 5.6
+    else(${QT_VERSION_MINOR} LESS 6)
+      list(APPEND QT5_REQUIRED_PACKAGES
+        Qt5Quick
+        )
     endif(${QT_VERSION_MINOR} LESS 6)
 
-    if (NOT WIN32 AND NOT APPLE)
-       find_package (Qt5X11Extras QUIET PATHS ${QT_DEFAULT_PATH} ${QT5_FINDER_FLAGS})
-    endif ()
+    # QtX11Extras only on Linux
+    if(NOT WIN32 AND NOT APPLE)
+      list(APPEND QT5_REQUIRED_PACKAGES
+        Qt5X11Extras
+        )
+    endif(NOT WIN32 AND NOT APPLE)
+
+    set(QT5_FOUND TRUE)
+    foreach(QT_PACKAGE IN LISTS QT5_REQUIRED_PACKAGES)
+      find_package ("${QT_PACKAGE}" QUIET PATHS ${QT_DEFAULT_PATH} ${QT5_FINDER_FLAGS})
+      if(NOT "${${QT_PACKAGE}_FOUND}")
+        set(QT5_FOUND FALSE)
+        message("${QT_PACKAGE} not found!")
+      endif()
+    endforeach(QT_PACKAGE)
 
     if (Qt5Core_FOUND AND Qt5Widgets_FOUND
       AND Qt5Gui_FOUND AND Qt5OpenGL_FOUND AND Qt5Network_FOUND
@@ -128,13 +153,13 @@ macro (acg_qt5)
   
   if (QT5_FOUND)   
     acg_unset_qt_shared_variables(5)
-  
+
     #set plugin dir
     list(GET Qt5Gui_PLUGINS 0 _plugin)
     if (_plugin)
       get_target_property(_plugin_full ${_plugin} LOCATION)
       get_filename_component(_plugin_dir ${_plugin_full} PATH)
-    set (QT_PLUGINS_DIR "${_plugin_dir}/../" CACHE PATH "Path to the qt plugin directory")
+      set (QT_PLUGINS_DIR "${_plugin_dir}/../" CACHE PATH "Path to the qt plugin directory")
     elseif(QT5_INSTALL_PATH_EXISTS)
       set (QT_PLUGINS_DIR "${QT5_INSTALL_PATH}/plugins/" CACHE PATH "Path to the qt plugin directory")
     elseif()
@@ -153,84 +178,42 @@ macro (acg_qt5)
     mark_as_advanced(QT_BINARY_DIR)
     
     set (CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
-  
-    include_directories(${Qt5Core_INCLUDE_DIRS})
-    include_directories(${Qt5Declarative_INCLUDE_DIRS})
-    include_directories(${Qt5Widgets_INCLUDE_DIRS})
-    include_directories(${Qt5Gui_INCLUDE_DIRS})
-    include_directories(${Qt5OpenGL_INCLUDE_DIRS})
-    include_directories(${Qt5Network_INCLUDE_DIRS})
-    include_directories(${Qt5Script_INCLUDE_DIRS})
-    include_directories(${Qt5ScriptTools_INCLUDE_DIRS})
-    include_directories(${Qt5Sql_INCLUDE_DIRS})
-    include_directories(${Qt5Xml_INCLUDE_DIRS})
-    include_directories(${Qt5XmlPatterns_INCLUDE_DIRS})
-    include_directories(${Qt5Help_INCLUDE_DIRS})
-    include_directories(${Qt5WebKit_INCLUDE_DIRS})
-    include_directories(${Qt5UiTools_INCLUDE_DIRS})
-    include_directories(${Qt5Concurrent_INCLUDE_DIRS})
-    include_directories(${Qt5PrintSupport_INCLUDE_DIRS})
-    add_definitions(${Qt5Core_DEFINITIONS})
-    add_definitions(${Qt5Widgets_DEFINITIONS})
-    add_definitions(${Qt5Gui_DEFINITIONS})
-    add_definitions(${Qt5OpenGL_DEFINITIONS})
-    add_definitions(${Qt5Network_DEFINITIONS})
-    add_definitions(${Qt5Script_DEFINITIONS})
-    add_definitions(${Qt5ScriptTools_DEFINITIONS})
-    add_definitions(${Qt5Sql_DEFINITIONS})
-    add_definitions(${Qt5Xml_DEFINITIONS})
-    add_definitions(${Qt5XmlPatterns_DEFINITIONS})
-    add_definitions(${Qt5Help_DEFINITIONS})
-    add_definitions(${Qt5WebKit_DEFINITIONS})
-    add_definitions(${Qt5UiTools_DEFINITIONS})
-    add_definitions(${Qt5Concurrent_DEFINITIONS})
-    add_definitions(${Qt5PrintSupport_DEFINITIONS})
-    
-    if (Qt5X11Extras_FOUND)
-            include_directories(${Qt5X11Extras_INCLUDE_DIRS})
-            add_definitions(${Qt5X11Extras_DEFINITIONS})
-    endif ()
+
+    foreach(QT_PACKAGE IN LISTS QT5_REQUIRED_PACKAGES)
+      include_directories(${${QT_PACKAGE}_INCLUDE_DIRS})
+      add_definitions(${${QT_PACKAGE}_DEFINITIONS})
+      list(APPEND QT_LIBRARIES ${${QT_PACKAGE}_LIBRARIES})
+    endforeach(QT_PACKAGE)
     
-    if ( NOT MSVC )
+    if(NOT MSVC)
       set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
     endif()
 
-    set (QT_LIBRARIES ${Qt5Core_LIBRARIES} ${Qt5Declarative_LIBRARIES} ${Qt5Widgets_LIBRARIES}
-      ${Qt5Gui_LIBRARIES} ${Qt5OpenGL_LIBRARIES} ${Qt5Network_LIBRARIES}
-      ${Qt5Script_LIBRARIES} ${Qt5ScriptTools_LIBRARIES} ${Qt5Sql_LIBRARIES}
-      ${Qt5Xml_LIBRARIES} ${Qt5XmlPatterns_LIBRARIES} ${Qt5Help_LIBRARIES}
-      ${Qt5WebKit_LIBRARIES} ${Qt5UiTools_LIBRARIES} ${Qt5Concurrent_LIBARIES} 
-      ${Qt5PrintSupport_LIBRARIES})
-      
-    if (Qt5X11Extras_FOUND)
-            list (APPEND QT_LIBRARIES ${Qt5X11Extras_LIBRARIES})
-        endif ()
-     
-    if (MSVC)
-      set (QT_LIBRARIES ${QT_LIBRARIES} ${Qt5Core_QTMAIN_LIBRARIES})
-      endif()
+    if(MSVC)
+      set(QT_LIBRARIES ${QT_LIBRARIES} ${Qt5Core_QTMAIN_LIBRARIES})
+    endif()
 
-	  #add_definitions(-DQT_NO_OPENGL)
-
-	  #adding QT_NO_DEBUG to all release modes. 
-	  #  Note: for multi generators like msvc you cannot set this definition depending of
-	  #  the current build type, because it may change in the future inside the ide and not via cmake
-	  if (MSVC_IDE)
-	    set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /DQT_NO_DEBUG")
-	    set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /DQT_NO_DEBUG")
-		
-		set(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_RELEASE} /DQT_NO_DEBUG")
-	    set(CMAKE_CXX_FLAGS_MINSITEREL "${CMAKE_C_FLAGS_RELEASE} /DQT_NO_DEBUG")
-		
-		set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELEASE} /DQT_NO_DEBUG")
-	    set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELEASE} /DQT_NO_DEBUG")
-	  else(MSVC_IDE)
-	    if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
-	      add_definitions(-DQT_NO_DEBUG)
-	    endif()
-      endif(MSVC_IDE)
+    #add_definitions(-DQT_NO_OPENGL)
 
-    endif ()
+    #adding QT_NO_DEBUG to all release modes.
+    #  Note: for multi generators like msvc you cannot set this definition depending of
+    #  the current build type, because it may change in the future inside the ide and not via cmake
+    if (MSVC_IDE)
+      set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /DQT_NO_DEBUG")
+      set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /DQT_NO_DEBUG")
+
+      set(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_RELEASE} /DQT_NO_DEBUG")
+      set(CMAKE_CXX_FLAGS_MINSITEREL "${CMAKE_C_FLAGS_RELEASE} /DQT_NO_DEBUG")
+
+      set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELEASE} /DQT_NO_DEBUG")
+      set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELEASE} /DQT_NO_DEBUG")
+    else(MSVC_IDE)
+      if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
+        add_definitions(-DQT_NO_DEBUG)
+      endif()
+    endif(MSVC_IDE)
+
+  endif ()
 endmacro ()
 
 # generate moc targets for sources in list
@@ -242,39 +225,39 @@ macro (acg_qt5_automoc moc_SRCS)
   set (_matching_FILES )
   foreach (_current_FILE ${ARGN})
 
-     get_filename_component (_abs_FILE ${_current_FILE} ABSOLUTE)
-     # if "SKIP_AUTOMOC" is set to true, we will not handle this file here.
-     # here. this is required to make bouic work correctly:
-     # we need to add generated .cpp files to the sources (to compile them),
-     # but we cannot let automoc handle them, as the .cpp files don't exist yet when
-     # cmake is run for the very first time on them -> however the .cpp files might
-     # exist at a later run. at that time we need to skip them, so that we don't add two
-     # different rules for the same moc file
-     get_source_file_property (_skip ${_abs_FILE} SKIP_AUTOMOC)
+    get_filename_component (_abs_FILE ${_current_FILE} ABSOLUTE)
+    # if "SKIP_AUTOMOC" is set to true, we will not handle this file here.
+    # here. this is required to make bouic work correctly:
+    # we need to add generated .cpp files to the sources (to compile them),
+    # but we cannot let automoc handle them, as the .cpp files don't exist yet when
+    # cmake is run for the very first time on them -> however the .cpp files might
+    # exist at a later run. at that time we need to skip them, so that we don't add two
+    # different rules for the same moc file
+    get_source_file_property (_skip ${_abs_FILE} SKIP_AUTOMOC)
 
-     if ( NOT _skip AND EXISTS ${_abs_FILE} )
+    if ( NOT _skip AND EXISTS ${_abs_FILE} )
 
-        file (READ ${_abs_FILE} _contents)
+      file (READ ${_abs_FILE} _contents)
 
-        get_filename_component (_abs_PATH ${_abs_FILE} PATH)
+      get_filename_component (_abs_PATH ${_abs_FILE} PATH)
 
-        string (REGEX MATCHALL "Q_OBJECT" _match "${_contents}")
-        if (_match)
-            get_filename_component (_basename ${_current_FILE} NAME_WE)
-            set (_header ${_abs_FILE})
-            set (_moc    ${CMAKE_CURRENT_BINARY_DIR}/moc_${_basename}.cpp)
+      string (REGEX MATCHALL "Q_OBJECT" _match "${_contents}")
+      if (_match)
+        get_filename_component (_basename ${_current_FILE} NAME_WE)
+        set (_header ${_abs_FILE})
+        set (_moc    ${CMAKE_CURRENT_BINARY_DIR}/moc_${_basename}.cpp)
 
-            add_custom_command (OUTPUT ${_moc}
-                COMMAND ${QT_MOC_EXECUTABLE}
-                ARGS ${_moc_INCS} ${_header} -o ${_moc}
-                DEPENDS ${_header}
-            )
+        add_custom_command (OUTPUT ${_moc}
+          COMMAND ${QT_MOC_EXECUTABLE}
+          ARGS ${_moc_INCS} ${_header} -o ${_moc}
+          DEPENDS ${_header}
+          )
 
-            add_file_dependencies (${_abs_FILE} ${_moc})
-            set (${moc_SRCS} ${${moc_SRCS}} ${_moc})
+        add_file_dependencies (${_abs_FILE} ${_moc})
+        set (${moc_SRCS} ${${moc_SRCS}} ${_moc})
 
-        endif ()
-     endif ()
+      endif ()
+    endif ()
   endforeach ()
 endmacro ()
 
@@ -284,29 +267,29 @@ macro (acg_qt5_autouic uic_SRCS)
   set (_matching_FILES )
   foreach (_current_FILE ${ARGN})
 
-     get_filename_component (_abs_FILE ${_current_FILE} ABSOLUTE)
+    get_filename_component (_abs_FILE ${_current_FILE} ABSOLUTE)
 
-     if ( EXISTS ${_abs_FILE} )
+    if ( EXISTS ${_abs_FILE} )
 
-        file (READ ${_abs_FILE} _contents)
+      file (READ ${_abs_FILE} _contents)
 
-        get_filename_component (_abs_PATH ${_abs_FILE} PATH)
+      get_filename_component (_abs_PATH ${_abs_FILE} PATH)
 
-        get_filename_component (_basename ${_current_FILE} NAME_WE)
-        string (REGEX REPLACE "Ui$" "" _cbasename ${_basename})
-        set (_outfile ${CMAKE_CURRENT_BINARY_DIR}/ui_${_basename}.hh)
-        set (_header ${_basename}.hh)
-        set (_source ${_abs_PATH}/${_cbasename}.cc)
+      get_filename_component (_basename ${_current_FILE} NAME_WE)
+      string (REGEX REPLACE "Ui$" "" _cbasename ${_basename})
+      set (_outfile ${CMAKE_CURRENT_BINARY_DIR}/ui_${_basename}.hh)
+      set (_header ${_basename}.hh)
+      set (_source ${_abs_PATH}/${_cbasename}.cc)
 
-        add_custom_command (OUTPUT ${_outfile}
-            COMMAND ${Qt5Widgets_UIC_EXECUTABLE}
-            ARGS -o ${_outfile} ${_abs_FILE}
-            MAIN_DEPENDENCY ${_abs_FILE} VERBATIM)
+      add_custom_command (OUTPUT ${_outfile}
+        COMMAND ${Qt5Widgets_UIC_EXECUTABLE}
+        ARGS -o ${_outfile} ${_abs_FILE}
+        MAIN_DEPENDENCY ${_abs_FILE} VERBATIM)
 
-        add_file_dependencies (${_source} ${_outfile})
-        set (${uic_SRCS} ${${uic_SRCS}} ${_outfile})
+      add_file_dependencies (${_source} ${_outfile})
+      set (${uic_SRCS} ${${uic_SRCS}} ${_outfile})
 
-     endif ()
+    endif ()
   endforeach ()
 endmacro ()
 
@@ -316,23 +299,23 @@ macro (acg_qt5_autoqrc qrc_SRCS)
   set (_matching_FILES )
   foreach (_current_FILE ${ARGN})
 
-     get_filename_component (_abs_FILE ${_current_FILE} ABSOLUTE)
+    get_filename_component (_abs_FILE ${_current_FILE} ABSOLUTE)
 
-     if ( EXISTS ${_abs_FILE} )
+    if ( EXISTS ${_abs_FILE} )
 
-        file (READ ${_abs_FILE} _contents)
+      file (READ ${_abs_FILE} _contents)
 
-        get_filename_component (_abs_PATH ${_abs_FILE} PATH)
+      get_filename_component (_abs_PATH ${_abs_FILE} PATH)
 
-        get_filename_component (_basename ${_current_FILE} NAME_WE)
-        set (_outfile ${CMAKE_CURRENT_BINARY_DIR}/qrc_${_basename}.cpp)
+      get_filename_component (_basename ${_current_FILE} NAME_WE)
+      set (_outfile ${CMAKE_CURRENT_BINARY_DIR}/qrc_${_basename}.cpp)
 
-        qt5_add_resources( ${_outfile}  ${_abs_FILE}  )
+      qt5_add_resources( ${_outfile}  ${_abs_FILE}  )
 
-        add_file_dependencies (${_source} ${_outfile})
-        set (${qrc_SRCS} ${${qrc_SRCS}} ${_outfile})
+      add_file_dependencies (${_source} ${_outfile})
+      set (${qrc_SRCS} ${${qrc_SRCS}} ${_outfile})
 
-     endif ()
+    endif ()
   endforeach ()
 endmacro ()
 
@@ -386,10 +369,10 @@ function (acg_add_translations _target _languages _sources)
   foreach (_qm ${_qm_files})
     get_filename_component (_qm_name "${_qm}" NAME)
     add_custom_command (TARGET tr_${_target} POST_BUILD
-                        COMMAND ${CMAKE_COMMAND} -E
-                        copy_if_different
-                          ${_qm}
-                          ${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_DATADIR}/Translations/${_qm_name})
+      COMMAND ${CMAKE_COMMAND} -E
+      copy_if_different
+      ${_qm}
+      ${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_DATADIR}/Translations/${_qm_name})
   endforeach ()
 
   if (NOT ACG_PROJECT_MACOS_BUNDLE OR NOT APPLE)
@@ -400,27 +383,27 @@ endfunction ()
 # Function that writes all generated qch files into one Help.qhcp project file
 function (generate_qhp_file files_loc plugin_name)
 
-    set(qhp_file "${files_loc}/${plugin_name}.qhp")
-    # Read in template file
-    file(STRINGS "${CMAKE_SOURCE_DIR}/OpenFlipper/Documentation/QtHelpResources/QtHelpProject.qhp" qhp_template)
-    
-    # Initialize new project file
-    file(WRITE ${qhp_file} "")
-    foreach (_line ${qhp_template})
-        string(STRIP ${_line} stripped)
-        if("${stripped}" STREQUAL "files")
-            acg_get_files_in_dir (_files ${files_loc})
-            foreach (_file ${_files})
-                string(REGEX MATCH ".+[.]+((html)|(htm)|(xml))$" fileresult ${_file})
-                string(LENGTH "${fileresult}" len)
-                if(${len} GREATER 0)
-                    file(APPEND ${qhp_file} "<file>${_file}</file>\n")
-                endif()
-            endforeach()
-        else()
-            string(REGEX REPLACE "plugin" ${plugin} newline ${_line})
-            file(APPEND ${qhp_file} "${newline}\n")
+  set(qhp_file "${files_loc}/${plugin_name}.qhp")
+  # Read in template file
+  file(STRINGS "${CMAKE_SOURCE_DIR}/OpenFlipper/Documentation/QtHelpResources/QtHelpProject.qhp" qhp_template)
+
+  # Initialize new project file
+  file(WRITE ${qhp_file} "")
+  foreach (_line ${qhp_template})
+    string(STRIP ${_line} stripped)
+    if("${stripped}" STREQUAL "files")
+      acg_get_files_in_dir (_files ${files_loc})
+      foreach (_file ${_files})
+        string(REGEX MATCH ".+[.]+((html)|(htm)|(xml))$" fileresult ${_file})
+        string(LENGTH "${fileresult}" len)
+        if(${len} GREATER 0)
+          file(APPEND ${qhp_file} "<file>${_file}</file>\n")
         endif()
-    endforeach()
+      endforeach()
+    else()
+      string(REGEX REPLACE "plugin" ${plugin} newline ${_line})
+      file(APPEND ${qhp_file} "${newline}\n")
+    endif()
+  endforeach()
 endfunction()