Hello community,

here is the log from the commit of package extra-cmake-modules for 
openSUSE:Factory checked in at 2017-07-17 10:27:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/extra-cmake-modules (Old)
 and      /work/SRC/openSUSE:Factory/.extra-cmake-modules.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "extra-cmake-modules"

Mon Jul 17 10:27:12 2017 rev:43 rq:510148 version:5.36.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/extra-cmake-modules/extra-cmake-modules.changes  
2017-07-05 23:49:21.376990916 +0200
+++ 
/work/SRC/openSUSE:Factory/.extra-cmake-modules.new/extra-cmake-modules.changes 
    2017-07-17 10:27:13.616930560 +0200
@@ -1,0 +2,28 @@
+Thu Jul 13 14:22:07 UTC 2017 - wba...@tmo.at
+
+- Add bundle-lang.patch to find .qm translations in
+  /usr/share/locale-bundle/ (boo#1027925, boo#1048030)
+
+-------------------------------------------------------------------
+Wed Jul 12 07:13:58 CEST 2017 - lbeltr...@kde.org
+
+- Update to 5.36.0
+  * New feature release
+  * For more details please see:
+  * https://www.kde.org/announcements/kde-frameworks-5.36.0.php
+- Changes since 5.35.0:
+  * FindQHelpGenerator: avoid picking up Qt4 version
+  * ECMAddQch: fail hard if needed tools are not present, to avoid surprises
+  * Drop perl as dep for ecm_add_qch, not needed/used
+  * (always include CheckCXXCompilerFlag before calling it)
+  * guess less, test more
+  * detect Xcode <= 6.2 from Clang version only
+  * scan the whole install folder for qml dependencies
+  * New: ECMAddQch, for generating qch & doxygen tag files
+  * tests: improve error reporting for ECMAddAppIconTest
+  * tests: fix output directory for KDEFetchTranslations
+  * tests: fix last change on KDEFetchTranslations
+  * tests: hopefully fix KDEFetchTranslations on Windows
+  * Fix KDEInstallDirsTest.relative_or_absolute_usr, avoid Qt paths being used
+
+-------------------------------------------------------------------

Old:
----
  extra-cmake-modules-5.35.0.tar.xz

New:
----
  bundle-lang.patch
  extra-cmake-modules-5.36.0.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ extra-cmake-modules.spec ++++++
--- /var/tmp/diff_new_pack.rsQouO/_old  2017-07-17 10:27:14.084864591 +0200
+++ /var/tmp/diff_new_pack.rsQouO/_new  2017-07-17 10:27:14.084864591 +0200
@@ -16,15 +16,17 @@
 #
 
 
-%define _tar_path 5.35
+%define _tar_path 5.36
 Name:           extra-cmake-modules
 Summary:        CMake modules
 License:        BSD-3-Clause
 Group:          Development/Tools/Other
 Url:            
https://projects.kde.org/projects/kdesupport/extra-cmake-modules
-Version:        5.35.0
+Version:        5.36.0
 Release:        0
 Source:         
http://download.kde.org/stable/frameworks/%{_tar_path}/%{name}-%{version}.tar.xz
+# PATCH-FIX-OPENSUSE
+Patch0:         bundle-lang.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  cmake >= 3.0
 BuildRequires:  gcc-c++
@@ -58,6 +60,7 @@
 
 %prep
 %setup -q
+%patch0 -p1
 
 %build
   %cmake_kf5 -d build

++++++ bundle-lang.patch ++++++
>From 8c4c416228acf30862792b4a0da24d865988ea0f Mon Sep 17 00:00:00 2001
From: Wolfgang Bauer <wba...@tmo.at>
Date: Thu, 13 Jul 2017 16:53:08 +0200
Subject: [PATCH] Also search in /usr/share/locale-bundle/ for translations

openSUSE's bundle-lang packages install the translations in
/usr/share/locale-bundle/ to not conflict with the standard -lang
packages.

So look there too if a translation was not found in /usr/share/locale/.
---
 modules/ECMQmLoader.cpp.in | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/modules/ECMQmLoader.cpp.in b/modules/ECMQmLoader.cpp.in
index 12a2d14..81fb6fb 100644
--- a/modules/ECMQmLoader.cpp.in
+++ b/modules/ECMQmLoader.cpp.in
@@ -43,7 +43,11 @@ namespace {
         QString subPath = QStringLiteral("locale/") + localeDirName + 
QStringLiteral("/LC_MESSAGES/@QM_LOADER_CATALOG_NAME@.qm");
         QString fullPath = 
QStandardPaths::locate(QStandardPaths::GenericDataLocation, subPath);
         if (fullPath.isEmpty()) {
-            return false;
+            subPath = QStringLiteral("locale-bundle/") + localeDirName + 
QStringLiteral("/LC_MESSAGES/@QM_LOADER_CATALOG_NAME@.qm");
+            fullPath = 
QStandardPaths::locate(QStandardPaths::GenericDataLocation, subPath);
+            if (fullPath.isEmpty()) {
+                return false;
+            }
         }
         QTranslator *translator = new 
QTranslator(QCoreApplication::instance());
         if (!translator->load(fullPath)) {
-- 
2.12.3

++++++ extra-cmake-modules-5.35.0.tar.xz -> extra-cmake-modules-5.36.0.tar.xz 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/extra-cmake-modules-5.35.0/CMakeLists.txt 
new/extra-cmake-modules-5.36.0/CMakeLists.txt
--- old/extra-cmake-modules-5.35.0/CMakeLists.txt       2017-05-30 
01:05:18.000000000 +0200
+++ new/extra-cmake-modules-5.36.0/CMakeLists.txt       2017-06-23 
17:48:53.000000000 +0200
@@ -32,7 +32,7 @@
 # Preliminary setup
 #
 
-set(VERSION "5.35.0") # handled by release scripts
+set(VERSION "5.36.0") # handled by release scripts
 
 if (POLICY CMP0048)
     cmake_policy(SET CMP0048 NEW)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/extra-cmake-modules-5.35.0/docs/module/ECMAddQch.rst 
new/extra-cmake-modules-5.36.0/docs/module/ECMAddQch.rst
--- old/extra-cmake-modules-5.35.0/docs/module/ECMAddQch.rst    1970-01-01 
01:00:00.000000000 +0100
+++ new/extra-cmake-modules-5.36.0/docs/module/ECMAddQch.rst    2017-06-23 
17:48:53.000000000 +0200
@@ -0,0 +1 @@
+.. ecm-module:: ../../modules/ECMAddQch.cmake
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/extra-cmake-modules-5.35.0/find-modules/FindQHelpGenerator.cmake 
new/extra-cmake-modules-5.36.0/find-modules/FindQHelpGenerator.cmake
--- old/extra-cmake-modules-5.35.0/find-modules/FindQHelpGenerator.cmake        
1970-01-01 01:00:00.000000000 +0100
+++ new/extra-cmake-modules-5.36.0/find-modules/FindQHelpGenerator.cmake        
2017-06-23 17:48:53.000000000 +0200
@@ -0,0 +1,75 @@
+# WARNING: FOR ECM-INTERNAL USE ONLY, DO NOT USE IN OWN PROJECTS
+# THIS FILE MIGHT DISAPPEAR IN FUTURE VERSIONS OF ECM.
+
+# Finds the Qt5 QHelpGenerator
+#
+#  QHelpGenerator_FOUND     - True if QHelpGenerator found.
+#  QHelpGenerator_EXECUTABLE - Path to executable
+
+#=============================================================================
+# Copyright 2016 Friedrich W. H. Kossebau <kosse...@kde.org>
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+#    derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#=============================================================================
+
+find_package(Qt5Core QUIET)
+if (TARGET Qt5::qhelpgenerator)
+    get_target_property(QHelpGenerator_EXECUTABLE Qt5::qhelpgenerator LOCATION)
+else()
+    # assume same folder as qmake executable
+    if (TARGET Qt5::qmake)
+        get_target_property(_qmake_EXECUTABLE Qt5::qmake LOCATION)
+        get_filename_component(_path ${_qmake_EXECUTABLE} DIRECTORY)
+    else()
+        set(_path)
+    endif()
+    find_program(QHelpGenerator_EXECUTABLE
+        NAMES
+            qhelpgenerator-qt5
+            qhelpgenerator
+        PATHS
+            ${_path}
+        NO_DEFAULT_PATH
+    )
+endif()
+mark_as_advanced(QHelpGenerator_EXECUTABLE)
+
+if(QHelpGenerator_EXECUTABLE)
+    set(QHelpGenerator_FOUND TRUE)
+else()
+    set(QHelpGenerator_FOUND FALSE)
+endif()
+
+if(QHelpGenerator_FOUND)
+  if(NOT QHelpGenerator_FIND_QUIETLY )
+    message( STATUS "Found QHelpGenerator executable: 
${QHelpGenerator_EXECUTABLE}")
+  endif()
+else()
+  if(QHelpGenerator_FIND_REQUIRED)
+    message( FATAL_ERROR "Could not find QHelpGenerator executable" )
+  else()
+    message( STATUS "Optional QHelpGenerator executable was not found" )
+  endif()
+endif()
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/extra-cmake-modules-5.35.0/kde-modules/KDECompilerSettings.cmake 
new/extra-cmake-modules-5.36.0/kde-modules/KDECompilerSettings.cmake
--- old/extra-cmake-modules-5.35.0/kde-modules/KDECompilerSettings.cmake        
2017-05-30 01:05:18.000000000 +0200
+++ new/extra-cmake-modules-5.36.0/kde-modules/KDECompilerSettings.cmake        
2017-06-23 17:48:53.000000000 +0200
@@ -376,7 +376,9 @@
 endif()
 if ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_CXX_COMPILER_VERSION 
VERSION_LESS 5.0) OR
     (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND NOT CMAKE_CXX_COMPILER_VERSION 
VERSION_LESS 3.5))
-    if (NOT (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" AND 
CMAKE_CXX_COMPILER_VERSION VERSION_LESS 6.1.0.6000000))
+    include(CheckCXXCompilerFlag)
+    check_cxx_compiler_flag(-Wdate-time HAVE_DATE_TIME)
+    if (HAVE_DATE_TIME)
         # -Wdate-time: warn if we use __DATE__ or __TIME__ (we want to be able 
to reproduce the exact same binary)
         set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wdate-time")
     endif()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/extra-cmake-modules-5.35.0/kde-modules/KDEInstallDirs.cmake 
new/extra-cmake-modules-5.36.0/kde-modules/KDEInstallDirs.cmake
--- old/extra-cmake-modules-5.35.0/kde-modules/KDEInstallDirs.cmake     
2017-05-30 01:05:18.000000000 +0200
+++ new/extra-cmake-modules-5.36.0/kde-modules/KDEInstallDirs.cmake     
2017-06-23 17:48:53.000000000 +0200
@@ -90,7 +90,7 @@
 #     desktop wallpaper images (``DATAROOTDIR/wallpapers``)
 #     [``WALLPAPER_INSTALL_DIR``]
 # ``APPDIR``
-#     application desktop files (``DATAROOTDIR/applications``)
+#     application desktop files (``DATAROOTDIR/applications``) Since 1.1.0.
 #     [``XDG_APPS_INSTALL_DIR``]
 # ``DESKTOPDIR``
 #     desktop directories (``DATAROOTDIR/desktop-directories``)
@@ -100,6 +100,10 @@
 #     [``XDG_MIME_INSTALL_DIR``]
 # ``METAINFODIR``
 #     AppStream component metadata files (``DATAROOTDIR/metainfo``)
+# ``QTQCHDIR``
+#     documentation bundles in QCH format for Qt-extending libraries 
(``DATAROOTDIR/doc``) Since 5.36.0.
+# ``QCHDIR``
+#     documentation bundles in QCH format (``DATAROOTDIR/doc/qch``) Since 
5.36.0.
 # ``MANDIR``
 #     man documentation (``DATAROOTDIR/man``) [``MAN_INSTALL_DIR``]
 # ``INFODIR``
@@ -174,8 +178,8 @@
 #
 # Since pre-1.0.0.
 #
-# NB: The variables starting ``KDE_INSTALL_`` are only available since 1.6.0.
-# The ``APPDIR`` install variable is available since 1.1.0.
+# NB: The variables starting ``KDE_INSTALL_`` are available since 1.6.0,
+# unless otherwise noted with the variable.
 
 #=============================================================================
 # Copyright 2014-2015 Alex Merry <alex.me...@kde.org>
@@ -448,7 +452,7 @@
     endif()
 endif()
 
-option (KDE_INSTALL_USE_QT_SYS_PATHS "Install mkspecs files, Plugins and 
Imports to the Qt 5 install dir" "${_default_KDE_INSTALL_USE_QT_SYS_PATHS}")
+option (KDE_INSTALL_USE_QT_SYS_PATHS "Install mkspecs files, QCH files for 
Qt-based libs, Plugins and Imports to the Qt 5 install dir" 
"${_default_KDE_INSTALL_USE_QT_SYS_PATHS}")
 if(KDE_INSTALL_USE_QT_SYS_PATHS)
     # Qt-specific vars
     query_qmake(qt_plugins_dir QT_INSTALL_PLUGINS)
@@ -520,6 +524,18 @@
     set(KF5_DATA_INSTALL_DIR "${CMAKE_INSTALL_DATADIR_KF5}")
 endif()
 
+# Qt-specific data vars
+if(KDE_INSTALL_USE_QT_SYS_PATHS)
+    query_qmake(qt_docs_dir QT_INSTALL_DOCS)
+
+    _define_absolute(QTQCHDIR ${qt_docs_dir}
+        "documentation bundles in QCH format for Qt-extending libraries")
+else()
+    _define_relative(QTQCHDIR DATAROOTDIR "doc/qch"
+        "documentation bundles in QCH format for Qt-extending libraries")
+endif()
+
+
 # KDE Framework-specific things
 _define_relative(DOCBUNDLEDIR DATAROOTDIR "doc/HTML"
     "documentation bundles generated using kdoctools"
@@ -572,6 +588,8 @@
     XDG_MIME_INSTALL_DIR)
 _define_relative(METAINFODIR DATAROOTDIR "metainfo"
     "AppStream component metadata")
+_define_relative(QCHDIR DATAROOTDIR "doc/qch"
+    "documentation bundles in QCH format")
 _define_relative(MANDIR DATAROOTDIR "man"
     "man documentation"
     MAN_INSTALL_DIR)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/extra-cmake-modules-5.35.0/modules/ECMAddQch.cmake 
new/extra-cmake-modules-5.36.0/modules/ECMAddQch.cmake
--- old/extra-cmake-modules-5.35.0/modules/ECMAddQch.cmake      1970-01-01 
01:00:00.000000000 +0100
+++ new/extra-cmake-modules-5.36.0/modules/ECMAddQch.cmake      2017-06-23 
17:48:53.000000000 +0200
@@ -0,0 +1,747 @@
+#.rst:
+# ECMAddQch
+# ------------------
+#
+# This module provides the ``ecm_add_qch`` function for generating API
+# documentation files in the QCH format, and the ``ecm_install_qch_export``
+# function for generating and installing exported CMake targets for such
+# generated QCH files to enable builds of other software with generation of
+# QCH files to create links into the given QCH files.
+#
+# ::
+#
+#   ecm_add_qch(<target_name>
+#       NAME <name>
+#       VERSION <version>
+#       QCH_INSTALL_DESTINATION <qchfile_install_path>
+#       TAGFILE_INSTALL_DESTINATION <tagsfile_install_path>
+#       [COMPONENT <component>]
+#       [BASE_NAME <basename>]
+#       [SOURCE_DIRS <dir> [<dir2> [...]]]
+#       [SOURCES <file> [<file2> [...]]]
+#       |MD_MAINPAGE <md_file>]
+#       [IMAGE_DIRS <idir> [<idir2> [...]]]
+#       [EXAMPLE_DIRS <edir> [<edir2> [...]]]
+#       [ORG_DOMAIN <domain>]
+#       [NAMESPACE <namespace>]
+#       [LINK_QCHS <qch> [<qch2> [...]]]
+#       [PREDEFINED_MACROS <macro[=content]> [<macro2[=content]> [...]]]
+#       [BLANK_MACROS <macro> [<macro2> [...]]]
+#       [CONFIG_TEMPLATE <configtemplate_file>]
+#       [VERBOSE]
+#   )
+#
+# This macro adds a target called <target_name> for the creation of an API
+# documentation manual in the QCH format from the given sources.
+# It currently uses doxygen, future versions might optionally also allow other
+# tools.
+# Next to the QCH file the target will generate a corresponding doxygen tag
+# file, which enables creating links from other documentation into the
+# generated QCH file.
+#
+# It is recommended to make the use of this macro optional, by depending
+# the call to ``ecm_add_qch`` on a CMake option being set, with a name like
+# ``BUILD_QCH`` and being TRUE by default. This will allow the developers to
+# saves resources on normal source development build cycles by setting this
+# option to FALSE.
+#
+# The macro will set the target properties DOXYGEN_TAGFILE, QHP_NAMESPACE,
+# QHP_NAMESPACE_VERSIONED, QHP_VIRTUALFOLDER and LINK_QCHS to the respective
+# values, to allow other code access to them, e.g. the macro
+# ``ecm_install_qch_export``.
+# To enable the use of the target <target_name> as item for LINK_QCHS
+# in further ``ecm_add_qch`` calls in the current build,
+# additionally a target property DOXYGEN_TAGFILE_BUILD is set, with the path
+# of the created doxygen tag file in the build dir.
+# If existing, ``ecm_add_qch`` will use this property instead of
+# DOXYGEN_TAGFILE for access to the tags file.
+#
+# NAME specifies the name for the generated documentation.
+#
+# VERSION specifies the version of the library for which the documentation is
+# created.
+#
+# BASE_NAME specifies the base name for the generated files.
+# The default basename is ``<name>``.
+#
+# SOURCE_DIRS specifies the dirs (incl. subdirs) with the source files for
+# which the API documentation should be generated.  Dirs can be relative to
+# the current source dir. Dependencies to the files in the dirs are not
+# tracked currently, other than with the SOURCES argument. So do not use for
+# sources generated during the build.
+# Needs to be used when SOURCES or CONFIG_TEMPLATE are not used.
+#
+# SOURCES specifies the source files for which the API documentation should be
+# generated.
+# Needs to be used when SOURCE_DIRS or CONFIG_TEMPLATE are not used.
+#
+# MD_MAINPAGE specifies a file in Markdown format that should be used as main
+# page. This page will overrule any ``\mainpage`` command in the included
+# sources.
+#
+# IMAGE_DIRS specifies the dirs which contain images that are included in the
+# documentation. Dirs can be relative to the current source dir.
+#
+# EXAMPLE_DIRS specifies the dirs which contain examples that are included in
+# the documentation. Dirs can be relative to the current source dir.
+#
+# QCH_INSTALL_DESTINATION specifies where the generated QCH file will be
+# installed.
+#
+# TAGFILE_INSTALL_DESTINATION specifies where the generated tag file will be
+# installed.
+#
+# COMPONENT specifies the installation component name with which the install
+# rules for the generated QCH file and tag file are associated.
+#
+# NAMESPACE can be used to set a custom namespace <namespace> of the generated
+# QCH file. The namepspace is used as the unique id by QHelpEngine (cmp.
+# http://doc.qt.io/qt-5/qthelpproject.html#namespace).
+# The default namespace is ``<domain>.<name>``.
+# Needs to be used when ORG_DOMAIN is not used.
+#
+# ORG_DOMAIN can be used to define the organization domain prefix for the
+# default namespace of the generated QCH file.
+# Needs to be used when NAMESPACE is not used.
+#
+# LINK_QCHS specifies a list of other QCH targets which should be used for
+# creating references to API documenation of code in external libraries.
+# For each target <qch> in the list these target properties are expected to be
+# defined: DOXYGEN_TAGFILE, QHP_NAMESPACE and QHP_VIRTUALFOLDER.
+# If any of these is not existing, <qch> will be ignored.
+# Use the macro ``ecm_install_qch_export`` for exporting a target with these
+# properties with the CMake config of a library.
+# Any target <qch> can also be one created before in the same buildsystem by
+# another call of ``ecm_add_qch``.
+#
+# PREDEFINED_MACROS specifies a list of C/C++ macros which should be handled as
+# given by the API dox generation tool.
+# Examples are macros only defined in generated files, so whose
+# definition might be not available to the tool.
+#
+# BLANK_MACROS specifies a list of C/C++ macro names which should be ignored by
+# the API dox generation tool and handled as if they resolve to empty strings.
+# Examples are export macros only defined in generated files, so whose
+# definition might be not available to the tool.
+#
+# CONFIG_TEMPLATE specifies a custom cmake template file for the config file
+# that is created to control the execution of the API dox generation tool.
+# The following CMake variables need to be used:
+# ECM_QCH_DOXYGEN_QHELPGENERATOR_EXECUTABLE,
+# ECM_QCH_DOXYGEN_FILEPATH, ECM_QCH_DOXYGEN_TAGFILE.
+# The following CMake variables can be used:
+# ECM_QCH_DOXYGEN_PROJECTNAME, ECM_QCH_DOXYGEN_PROJECTVERSION,
+# ECM_QCH_DOXYGEN_VIRTUALFOLDER, ECM_QCH_DOXYGEN_FULLNAMESPACE,
+# ECM_QCH_DOXYGEN_TAGFILES,
+# ECM_QCH_DOXYGEN_WARN_LOGFILE, ECM_QCH_DOXYGEN_QUIET.
+# There is no guarantue that the other CMake variables currently used in the
+# default config file template will also be present with the same semantics
+# in future versions of this macro.
+#
+# VERBOSE tells the API dox generation tool to be more verbose about its
+# activity.
+#
+# Example usage:
+#
+# .. code-block:: cmake
+#
+#   ecm_add_qch(
+#       MyLib_QCH
+#       NAME MyLib
+#       VERSION "0.42.0"
+#       ORG_DOMAIN org.myorg
+#       SOURCE_DIRS
+#           src
+#       LINK_QCHS
+#           Qt5Core_QCH
+#           Qt5Xml_QCH
+#           Qt5Gui_QCH
+#           Qt5Widgets_QCH
+#       BLANK_MACROS
+#           MyLib_EXPORT
+#           MyLib_DEPRECATED
+#       TAGFILE_INSTALL_DESTINATION ${CMAKE_INSTALL_PREFIX}/share/docs/tags
+#       QCH_INSTALL_DESTINATION ${CMAKE_INSTALL_PREFIX}/share/docs/qch
+#       COMPONENT Devel
+#   )
+#
+# Example usage (with two QCH files, second linking first):
+#
+# .. code-block:: cmake
+#
+#   ecm_add_qch(
+#       MyLib_QCH
+#       NAME MyLib
+#       VERSION ${MyLib_VERSION}
+#       ORG_DOMAIN org.myorg
+#       SOURCES ${MyLib_PUBLIC_HEADERS}
+#       MD_MAINPAGE src/mylib/README.md
+#       LINK_QCHS Qt5Core_QCH
+#       TAGFILE_INSTALL_DESTINATION ${CMAKE_INSTALL_PREFIX}/share/docs/tags
+#       QCH_INSTALL_DESTINATION ${CMAKE_INSTALL_PREFIX}/share/docs/qch
+#       COMPONENT Devel
+#   )
+#   ecm_add_qch(
+#       MyOtherLib_QCH
+#       NAME MyOtherLib
+#       VERSION ${MyOtherLib_VERSION}
+#       ORG_DOMAIN org.myorg
+#       SOURCES ${MyOtherLib_PUBLIC_HEADERS}
+#       MD_MAINPAGE src/myotherlib/README.md
+#       LINK_QCHS Qt5Core_QCH MyLib_QCH
+#       TAGFILE_INSTALL_DESTINATION ${CMAKE_INSTALL_PREFIX}/share/docs/tags
+#       QCH_INSTALL_DESTINATION ${CMAKE_INSTALL_PREFIX}/share/docs/qch
+#       COMPONENT Devel
+#   )
+#
+# ::
+#
+#   ecm_install_qch_export(
+#       TARGETS [<name> [<name2> [...]]]
+#       FILE <file>
+#       DESTINATION <dest>
+#       [COMPONENT <component>]
+#   )
+#
+# This macro creates and installs a CMake file <file> which exports the given
+# QCH targets <name> etc., so they can be picked up by CMake-based builds of
+# other software that also generate QCH files (using ``ecm_add_qch``) and
+# which should include links to the QCH files created by the given targets.
+# The installed CMake file <file> is expected to be included by the CMake
+# config file created for the software the related QCH files are documenting.
+#
+# TARGETS specifies the QCH targets which should be exported. If a target does
+# not exist or does not have all needed properties, a warning will be
+# generated and the target skipped.
+# This behaviour might change in future versions to result in a fail instead.
+#
+# FILE specifies the name of the created CMake file, typically with a .cmake
+# extension.
+#
+# DESTINATION specifies the directory on disk to which the file will be
+# installed. It usually is the same as the one where the CMake config files
+# for this software are installed.
+#
+# COMPONENT specifies the the installation component name with which the
+# install rule is associated.
+#
+# Example usage:
+#
+# .. code-block:: cmake
+#
+#   ecm_install_qch_export(
+#       TARGETS MyLib_QCH
+#       FILE MyLibQCHTargets.cmake
+#       DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/cmake/MyLib"
+#       COMPONENT Devel
+#   )
+#
+# Since 5.36.0.
+
+#=============================================================================
+# Copyright 2016-2017 Friedrich W. H. Kossebau <kosse...@kde.org>
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+#    derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+include(CMakeParseArguments)
+include(ECMQueryQmake)
+
+
+# Helper method: adding the LINK_QCHS property to a Qt QCH targets, from 
module base names ("Core" etc.)
+# if target does not exist (e.g. because no tagsfile was found), this is a 
no-op
+macro(_ecm_setup_qt_qch_links _module)
+    set(_target "Qt5${_module}_QCH")
+    if(TARGET ${_target})
+        set(_linkqchs)
+        foreach(_linkqch ${ARGN})
+            list(APPEND _linkqchs "Qt5${_linkqch}_QCH")
+        endforeach()
+        set_property(TARGET ${_target} PROPERTY LINK_QCHS ${_linkqchs})
+    endif()
+endmacro()
+
+# Helper method: ensure Qt QCH targets are created
+function(_ecm_ensure_qt_qch_targets)
+    # create QCH targets for Qt
+    # Ideally one day Qt CMake Config files provide these
+    if(NOT TARGET Qt5Core_QCH)
+        # get Qt version, if any
+        find_package(Qt5Core CONFIG QUIET)
+        # lookup tag files
+        query_qmake(qt_docs_dir QT_INSTALL_DOCS)
+        find_path(_qtcoreTagsPath qtcore/qtcore.tags
+            PATHS
+                ${qt_docs_dir}
+        )
+
+        if(Qt5Core_FOUND AND _qtcoreTagsPath)
+            string(REPLACE "." "" _version ${Qt5Core_VERSION})
+            # TODO: properly find each tag file
+            # TODO: complete list of Qt modules
+            # qtdbus.tags file missing since 5.0, QTBUG-60933, extra handling?
+            foreach(_module
+                3D Bluetooth Concurrent Core DBus Gui Location
+                Network Positioning PrintSupport Qml Quick Sensors SerialPort 
Sql Svg
+                WebChannel WebEngine WebSockets Widgets Xml XmlPatterns
+            )
+                string(TOLOWER ${_module} _lowermodule)
+
+                set(_tagfile 
"${_qtcoreTagsPath}/qt${_lowermodule}/qt${_lowermodule}.tags")
+                if(EXISTS "${_tagfile}")
+                    add_custom_target(Qt5${_module}_QCH)
+                    set_target_properties(Qt5${_module}_QCH PROPERTIES
+                        DOXYGEN_TAGFILE         "${_tagfile}"
+                        QHP_NAMESPACE           
"org.qt-project.qt${_lowermodule}"
+                        QHP_NAMESPACE_VERSIONED 
"org.qt-project.qt${_lowermodule}.${_version}"
+                        QHP_VIRTUALFOLDER       "qt${_lowermodule}"
+                        IMPORTED TRUE
+                    )
+                endif()
+            endforeach()
+            _ecm_setup_qt_qch_links(3D           Gui Core)
+            _ecm_setup_qt_qch_links(Bluetooth    DBus Core)
+            _ecm_setup_qt_qch_links(Concurrent   Gui Core)
+            _ecm_setup_qt_qch_links(DBus         Core)
+            _ecm_setup_qt_qch_links(Gui          Core)
+            _ecm_setup_qt_qch_links(Location     Positioning Gui Core)
+            _ecm_setup_qt_qch_links(Network      Core)
+            _ecm_setup_qt_qch_links(Positioning  Core)
+            _ecm_setup_qt_qch_links(PrintSupport Widgets Gui Core)
+            _ecm_setup_qt_qch_links(Qml          Network Core)
+            _ecm_setup_qt_qch_links(Quick        Qml Network Gui Core)
+            _ecm_setup_qt_qch_links(Sensors      Core)
+            _ecm_setup_qt_qch_links(SerialPort   Core)
+            _ecm_setup_qt_qch_links(Sql          Core)
+            _ecm_setup_qt_qch_links(Svg          Widgets Gui Core)
+            _ecm_setup_qt_qch_links(WebChannel   Qml Core)
+            _ecm_setup_qt_qch_links(WebEngine    Quick Qml Gui Core)
+            _ecm_setup_qt_qch_links(WebSockets   Network Core)
+            _ecm_setup_qt_qch_links(Widgets      Gui Core)
+            _ecm_setup_qt_qch_links(Xml          Core)
+            _ecm_setup_qt_qch_links(XmlPatterns  Network Core)
+        endif()
+    endif()
+endfunction()
+
+# Helper method: collect all qch targets from the LINK_QCHS dependency tree 
and set result to <var>
+function(_ecm_collect_linkable_qch_targets name)
+    set(_candidate_qchs ${ARGN})
+    set(_handled_qchs)
+    set(_good_qchs)
+    # while unhandled qch targets
+    while(_candidate_qchs)
+        # get another unhandled qch target
+        list(GET _candidate_qchs 0 _qch)
+        list(REMOVE_AT _candidate_qchs 0)
+        list(FIND _handled_qchs ${_qch} _index)
+        # if not already handled
+        if(_index EQUAL -1)
+            list(APPEND _handled_qchs ${_qch})
+            if(TARGET ${_qch})
+                # always look at other linked qch targets, also for incomplete 
targets
+                get_property(_link_qchs TARGET ${_qch} PROPERTY LINK_QCHS)
+                if(_link_qchs)
+                    list(APPEND _candidate_qchs ${_link_qchs})
+                endif()
+                # check if this target has all needed properties
+                set(_target_usable TRUE)
+                foreach(_propertyname
+                    DOXYGEN_TAGFILE
+                    QHP_NAMESPACE
+                    QHP_VIRTUALFOLDER
+                )
+                    get_target_property(_property ${_qch} ${_propertyname})
+                    if(NOT _property)
+                        message(STATUS "No property ${_propertyname} set on 
${_qch} when calling ecm_add_qch(). <<${_property}>>")
+                        set(_target_usable FALSE)
+                    endif()
+                endforeach()
+                get_target_property(_tagfile_build ${_qch} 
DOXYGEN_TAGFILE_BUILD)
+                if (NOT _tagfile_build)
+                    get_target_property(_tagfile ${_qch} DOXYGEN_TAGFILE)
+                    if(NOT EXISTS ${_tagfile})
+                        message(STATUS "No such tag file \"${_tagfile}\" found 
for ${_qch} when calling ecm_add_qch().")
+                        set(_target_usable FALSE)
+                    endif()
+                endif()
+                if(_target_usable)
+                    list(APPEND _good_qchs ${_qch})
+                else()
+                    message(WARNING "No linking to API dox of ${_qch}.")
+                endif()
+            else()
+                message(STATUS "No such target ${_qch} defined when calling 
ecm_add_qch(), ignored.")
+            endif()
+        endif()
+    endwhile()
+    set(${name} ${_good_qchs} PARENT_SCOPE)
+endfunction()
+
+
+function(ecm_add_qch target_name)
+    # Parse arguments
+    set(options VERBOSE)
+    set(oneValueArgs NAME BASE_NAME QCH_INSTALL_DESTINATION 
TAGFILE_INSTALL_DESTINATION COMPONENT VERSION NAMESPACE MD_MAINPAGE ORG_DOMAIN 
CONFIG_TEMPLATE)
+    set(multiValueArgs SOURCE_DIRS SOURCES IMAGE_DIRS EXAMPLE_DIRS 
PREDEFINED_MACROS BLANK_MACROS LINK_QCHS)
+    cmake_parse_arguments(ARGS "${options}" "${oneValueArgs}" 
"${multiValueArgs}" ${ARGN})
+
+    # check required args
+    foreach(_arg_name NAME QCH_INSTALL_DESTINATION TAGFILE_INSTALL_DESTINATION 
VERSION)
+        if(NOT DEFINED ARGS_${_arg_name})
+            message(FATAL_ERROR "${_arg_name} needs to be defined when calling 
ecm_add_qch")
+        endif()
+    endforeach()
+    if(NOT DEFINED ARGS_SOURCE_DIRS AND NOT DEFINED ARGS_SOURCES AND NOT 
DEFINED ARGS_CONFIG_TEMPLATE)
+        message(FATAL_ERROR "SOURCE_DIRS or SOURCES needs to be defined when 
calling ecm_add_qch")
+    endif()
+    if(DEFINED ARGS_SOURCE_DIRS AND DEFINED ARGS_SOURCES)
+        message(FATAL_ERROR "Either SOURCE_DIRS or SOURCES, not both, needs to 
be defined when calling ecm_add_qch")
+    endif()
+    if(NOT DEFINED ARGS_ORG_DOMAIN AND NOT DEFINED ARGS_NAMESPACE)
+        message(FATAL_ERROR "ORG_DOMAIN or NAMESPACE needs to be defined when 
calling ecm_add_qch")
+    endif()
+
+    # find required tools
+    if (NOT DOXYGEN_PATCHED_JSFILESADDED)
+        set(REQUIRED_DOXYGEN_VERSION 1.8.13)
+    endif()
+    find_package(Doxygen ${REQUIRED_DOXYGEN_VERSION} REQUIRED)
+    if (NOT DOXYGEN_FOUND AND NOT DOXYGEN_PATCHED_JSFILESADDED)
+        set(doxygen_description_addition " (Or older version patched with 
https://github.com/doxygen/doxygen/commit/bf9415698e53d79b, pass 
-DDOXYGEN_PATCHED_JSFILESADDED=ON to cmake if patched)")
+    endif()
+    set_package_properties(Doxygen PROPERTIES
+        TYPE REQUIRED
+        PURPOSE "Needed for API dox QCH file 
generation${doxygen_description_addition}"
+    )
+    find_package(QHelpGenerator REQUIRED)
+    set_package_properties(QHelpGenerator PROPERTIES
+        TYPE REQUIRED
+        PURPOSE "Needed for API dox QCH file generation"
+        DESCRIPTION "Part of Qt5 tools"
+    )
+    set(_missing_tools)
+    if (NOT DOXYGEN_FOUND)
+        list(APPEND _missing_tools "Doxygen")
+    endif()
+    if (NOT QHelpGenerator_FOUND)
+        list(APPEND _missing_tools "qhelpgenerator")
+    endif()
+
+    if (_missing_tools)
+        message(WARNING "API dox QCH file will not be generated, tools 
missing: ${_missing_tools}!")
+    else()
+        _ecm_ensure_qt_qch_targets()
+
+        # prepare base dirs, working file names and other vars
+        if (DEFINED ARGS_BASE_NAME)
+            set(_basename ${ARGS_BASE_NAME})
+        else()
+            set(_basename ${ARGS_NAME})
+        endif()
+        set(_qch_file_basename "${_basename}.qch")
+        set(_tags_file_basename "${_basename}.tags")
+        set(_qch_buildpath "${CMAKE_CURRENT_BINARY_DIR}/${_qch_file_basename}")
+        set(_tags_buildpath 
"${CMAKE_CURRENT_BINARY_DIR}/${_tags_file_basename}")
+        set(_apidox_builddir 
"${CMAKE_CURRENT_BINARY_DIR}/${_basename}_ECMQchDoxygen")
+        if (DEFINED ARGS_NAMESPACE)
+            set(_namespace "${ARGS_NAMESPACE}")
+        else()
+            set(_namespace "${ARGS_ORG_DOMAIN}.${ARGS_NAME}")
+        endif()
+        string(REPLACE "." "_" _dotLessVersion ${ARGS_VERSION})
+        set(_versioned_namespace "${_namespace}.${_dotLessVersion}")
+        set(_sources)
+        set(_dep_tagfiles)
+        set(_dep_qch_targets)
+
+        ### Create doxygen config file
+        set(_doxygenconfig_file 
"${CMAKE_CURRENT_BINARY_DIR}/${_basename}_ECMQchDoxygen.config")
+        if (DEFINED ARGS_CONFIG_TEMPLATE)
+            set(_doxygenconfig_template_file "${ARGS_CONFIG_TEMPLATE}")
+        else()
+            set(_doxygenconfig_template_file 
"${ECM_MODULE_DIR}/ECMQchDoxygen.config.in")
+        endif()
+        set(_doxygen_layout_file "${ECM_MODULE_DIR}/ECMQchDoxygenLayout.xml")
+        # Setup variables used in config file template, ECM_QCH_DOXYGEN_*
+        set(ECM_QCH_DOXYGEN_OUTPUTDIR "\"${_apidox_builddir}\"")
+        set(ECM_QCH_DOXYGEN_TAGFILE "\"${_tags_buildpath}\"")
+        set(ECM_QCH_DOXYGEN_LAYOUTFILE "\"${_doxygen_layout_file}\"")
+        set(ECM_QCH_DOXYGEN_IMAGEDIRS)
+        foreach(_image_DIR IN LISTS ARGS_IMAGE_DIRS)
+            if (NOT IS_ABSOLUTE ${_image_DIR})
+                set(_image_DIR "${CMAKE_CURRENT_SOURCE_DIR}/${_image_DIR}")
+            endif()
+            # concat dirs separated by a break, it is no issue that first has 
also a leading break
+            set(ECM_QCH_DOXYGEN_IMAGEDIRS "${ECM_QCH_DOXYGEN_IMAGEDIRS} 
\\\n\"${_image_DIR}\"")
+        endforeach()
+        set(ECM_QCH_DOXYGEN_EXAMPLEDIRS)
+        foreach(_example_DIR IN LISTS ARGS_EXAMPLE_DIRS)
+            if (NOT IS_ABSOLUTE ${_example_DIR})
+                set(_example_DIR "${CMAKE_CURRENT_SOURCE_DIR}/${_example_DIR}")
+            endif()
+            # concat dirs separated by a break, it is no issue that first has 
also a leading break
+            set(ECM_QCH_DOXYGEN_EXAMPLEDIRS "${ECM_QCH_DOXYGEN_EXAMPLEDIRS} 
\\\n\"${_example_DIR}\"")
+        endforeach()
+        if (ARGS_MD_MAINPAGE)
+            if (NOT IS_ABSOLUTE ${ARGS_MD_MAINPAGE})
+                set(ARGS_MD_MAINPAGE 
"${CMAKE_CURRENT_SOURCE_DIR}/${ARGS_MD_MAINPAGE}")
+            endif()
+            set(ECM_QCH_DOXYGEN_MAINPAGE_MDFILE "\"${ARGS_MD_MAINPAGE}\"")
+        else()
+            set(ECM_QCH_DOXYGEN_MAINPAGE_MDFILE)
+        endif()
+        set(ECM_QCH_DOXYGEN_INPUT)
+        if (ARGS_SOURCE_DIRS)
+            foreach(_source_DIR IN LISTS ARGS_SOURCE_DIRS)
+                if (NOT IS_ABSOLUTE ${_source_DIR})
+                    set(_source_DIR 
"${CMAKE_CURRENT_SOURCE_DIR}/${_source_DIR}")
+                endif()
+                # concat dirs separated by a break, it is no issue that first 
has also a leading break
+                set(ECM_QCH_DOXYGEN_INPUT "${ECM_QCH_DOXYGEN_INPUT} 
\\\n\"${_source_DIR}\"")
+            endforeach()
+            if (ARGS_MD_MAINPAGE)
+                set(ECM_QCH_DOXYGEN_INPUT "${ECM_QCH_DOXYGEN_INPUT} 
\\\n\"${ARGS_MD_MAINPAGE}\"")
+            endif()
+            set(ECM_QCH_DOXYGEN_FILE_PATTERNS "*.h *.cpp *.hpp *.hh *.cc *.h++ 
*.c++ *.hxx *.cxx *.dox *.md")
+        else()
+            foreach(_source IN LISTS ARGS_SOURCES)
+                if (NOT IS_ABSOLUTE ${_source})
+                    set(_source "${CMAKE_CURRENT_SOURCE_DIR}/${_source}")
+                endif()
+                list(APPEND _sources "${_source}")
+            endforeach()
+            if (ARGS_MD_MAINPAGE)
+                list(FIND _sources ${ARGS_MD_MAINPAGE} _mainpage_index)
+                if (_mainpage_index STREQUAL -1)
+                    list(APPEND _sources "${ARGS_MD_MAINPAGE}")
+                endif()
+            endif()
+            foreach(_source IN LISTS _sources)
+                # concat sources separated by a break, it is no issue that 
first has also a leading break
+                set(ECM_QCH_DOXYGEN_INPUT "${ECM_QCH_DOXYGEN_INPUT} 
\\\n\"${_source}\"")
+            endforeach()
+            set(ECM_QCH_DOXYGEN_FILE_PATTERNS "")
+        endif()
+
+        set(ECM_QCH_DOXYGEN_PROJECTNAME ${ARGS_NAME})
+        file(RELATIVE_PATH _builddirrelative_filepath 
"${_apidox_builddir}/html"  ${_qch_buildpath})
+        set(ECM_QCH_DOXYGEN_FILEPATH "\"${_builddirrelative_filepath}\"")
+        set(ECM_QCH_DOXYGEN_PROJECTVERSION ${ARGS_VERSION})
+        string(TOLOWER ${ARGS_NAME} ECM_QCH_DOXYGEN_VIRTUALFOLDER)
+        set(ECM_QCH_DOXYGEN_FULLNAMESPACE ${_versioned_namespace})
+        set(ECM_QCH_DOXYGEN_PREDEFINED_MACROS)
+        foreach(_macro IN LISTS ARGS_PREDEFINED_MACROS)
+            # concat dirs separated by a break, it is no issue that first has 
also a leading break
+            set(ECM_QCH_DOXYGEN_PREDEFINED_MACROS 
"${ECM_QCH_DOXYGEN_PREDEFINED_MACROS} \\\n${_macro}")
+        endforeach()
+        set(ECM_QCH_DOXYGEN_BLANK_MACROS)
+        foreach(_macro IN LISTS ARGS_BLANK_MACROS)
+            # concat dirs separated by a break, it is no issue that first has 
also a leading break
+            set(ECM_QCH_DOXYGEN_BLANK_MACROS "${ECM_QCH_DOXYGEN_BLANK_MACROS} 
\\\n${_macro}=\"\"")
+        endforeach()
+
+        # create list of tag files for linking other QCH files
+        set(ECM_QCH_DOXYGEN_TAGFILES)
+        _ecm_collect_linkable_qch_targets(_link_qchs ${ARGS_LINK_QCHS})
+        foreach(_link_qch IN LISTS _link_qchs)
+            list(APPEND _dep_qch_targets ${_link_qch})
+            get_target_property(_link_qch_tagfile ${_link_qch} DOXYGEN_TAGFILE)
+            get_target_property(_link_qch_tagfile_build ${_link_qch} 
DOXYGEN_TAGFILE_BUILD)
+            get_target_property(_link_qch_namespace ${_link_qch} QHP_NAMESPACE)
+            get_target_property(_link_qch_virtualfolder ${_link_qch} 
QHP_VIRTUALFOLDER)
+            # if same build, then prefer build version over any installed one
+            if (_link_qch_tagfile_build)
+                set(_link_qch_tagfile ${_link_qch_tagfile_build})
+                list(APPEND _dep_tagfiles "${_link_qch_tagfile}")
+            endif()
+            get_property(_linkqchs TARGET ${_link_qch} PROPERTY LINK_QCHS)
+            set(_tagfile_entry 
"\"${_link_qch_tagfile}=qthelp://${_link_qch_namespace}/${_link_qch_virtualfolder}/\"")
+            # concat dirs separated by a break, it is no issue that first has 
also a leading break
+            set(ECM_QCH_DOXYGEN_TAGFILES "${ECM_QCH_DOXYGEN_TAGFILES} 
\\\n${_tagfile_entry}")
+        endforeach()
+
+        set(ECM_QCH_DOXYGEN_WARN_LOGFILE "\"${_doxygenconfig_file}.log\"")
+        if(ARGS_VERBOSE)
+            set(ECM_QCH_DOXYGEN_QUIET "NO")
+        else()
+            set(ECM_QCH_DOXYGEN_QUIET "YES")
+        endif()
+        set(ECM_QCH_DOXYGEN_QHELPGENERATOR_EXECUTABLE 
${QHelpGenerator_EXECUTABLE})
+
+        # finally create doxygen config file
+        configure_file(
+            "${_doxygenconfig_template_file}"
+            "${_doxygenconfig_file}"
+            @ONLY
+        )
+
+        # setup make target
+        set(_qch_INSTALLPATH ${ARGS_QCH_INSTALL_DESTINATION})
+        set(_tags_INSTALLPATH ${ARGS_TAGFILE_INSTALL_DESTINATION})
+        file(RELATIVE_PATH _relative_qch_file ${CMAKE_BINARY_DIR}  
${_qch_buildpath})
+        file(RELATIVE_PATH _relative_tags_file ${CMAKE_BINARY_DIR}  
${_tags_buildpath})
+        add_custom_command(
+            OUTPUT ${_qch_buildpath} ${_tags_buildpath}
+            COMMENT "Generating ${_relative_qch_file}, ${_relative_tags_file}"
+            COMMAND cmake -E remove_directory "${ECM_QCH_DOXYGEN_OUTPUTDIR}"
+            COMMAND cmake -E make_directory "${ECM_QCH_DOXYGEN_OUTPUTDIR}"
+            COMMAND ${DOXYGEN_EXECUTABLE} "${_doxygenconfig_file}"
+            DEPENDS
+                ${_doxygenconfig_file}
+                ${_doxygen_layout_file}
+                ${_sources}
+                ${_dep_tagfiles}
+                ${_dep_qch_targets}
+        )
+        add_custom_target(${target_name} ALL DEPENDS ${_qch_buildpath} 
${_tags_buildpath})
+        set_target_properties(${target_name} PROPERTIES
+            DOXYGEN_TAGFILE "${_qch_INSTALLPATH}/${_tags_file_basename}"
+            DOXYGEN_TAGFILE_NAME "${_tags_file_basename}"
+            DOXYGEN_TAGFILE_INSTALLDIR "${_qch_INSTALLPATH}"
+            DOXYGEN_TAGFILE_BUILD "${_tags_buildpath}"
+            QHP_NAMESPACE "${_namespace}"
+            QHP_NAMESPACE_VERSIONED  "${_versioned_namespace}"
+            QHP_VIRTUALFOLDER "${ECM_QCH_DOXYGEN_VIRTUALFOLDER}"
+        )
+        # list as value does not work with set_target_properties
+        set_property(TARGET ${target_name} PROPERTY LINK_QCHS 
"${ARGS_LINK_QCHS}")
+
+        if (DEFINED ARGS_COMPONENT)
+            set(_component COMPONENT ${ARGS_COMPONENT})
+        else()
+            set(_component)
+        endif()
+
+        # setup installation
+        install(FILES
+            ${_qch_buildpath}
+            DESTINATION ${_qch_INSTALLPATH}
+            ${_component}
+        )
+
+        install(FILES
+            ${_tags_buildpath}
+            DESTINATION ${_tags_INSTALLPATH}
+            ${_component}
+        )
+    endif()
+
+endfunction()
+
+
+function(ecm_install_qch_export)
+    set(options )
+    set(oneValueArgs FILE DESTINATION COMPONENT)
+    set(multiValueArgs TARGETS)
+
+    cmake_parse_arguments(ARGS "${options}" "${oneValueArgs}" 
"${multiValueArgs}" ${ARGN})
+
+    if(NOT DEFINED ARGS_FILE)
+        message(FATAL_ERROR "FILE needs to be defined when calling 
ecm_install_qch_export().")
+    endif()
+
+    if(NOT DEFINED ARGS_DESTINATION)
+        message(FATAL_ERROR "DESTINATION needs to be defined when calling 
ecm_install_qch_export().")
+    endif()
+
+    # TARGETS may be empty (and ARGS_TARGETS will not be defined then by 
cmake_parse_arguments)
+
+    set(_content
+"# This file was generated by ecm_install_qch_export(). DO NOT EDIT!
+"
+    )
+
+    foreach(_target IN LISTS ARGS_TARGETS)
+        set(_target_usable TRUE)
+
+        if (NOT TARGET ${_target})
+            message(STATUS "No such target ${_target} when calling 
ecm_install_qch_export().")
+            set(_target_usable FALSE)
+        else()
+            foreach(_propertyname
+                DOXYGEN_TAGFILE_NAME
+                DOXYGEN_TAGFILE_INSTALLDIR
+                QHP_NAMESPACE
+                QHP_NAMESPACE_VERSIONED
+                QHP_VIRTUALFOLDER
+            )
+                get_target_property(_property ${_target} ${_propertyname})
+                if(NOT _property)
+                    message(STATUS "No property ${_propertyname} set on 
${_target} when calling ecm_install_qch_export(). <${_property}>")
+                    set(_target_usable FALSE)
+                endif()
+            endforeach()
+        endif()
+        if(_target_usable)
+            get_target_property(_tagfile_name ${_target} DOXYGEN_TAGFILE_NAME)
+            get_target_property(_tagfile_installdir ${_target} 
DOXYGEN_TAGFILE_INSTALLDIR)
+            if (NOT IS_ABSOLUTE ${_tagfile_installdir})
+                set(_tagfile_installdir 
"${CMAKE_INSTALL_PREFIX}/${_tagfile_installdir}")
+            endif()
+            get_target_property(_namespace ${_target} QHP_NAMESPACE)
+            get_target_property(_namespace_versioned ${_target} 
QHP_NAMESPACE_VERSIONED)
+            get_target_property(_virtualfolder ${_target} QHP_VIRTUALFOLDER)
+            get_property(_linkqchs TARGET ${_target} PROPERTY LINK_QCHS)
+            set(_content "${_content}
+if (NOT TARGET ${_target})
+
+add_custom_target(${_target})
+set_target_properties(${_target} PROPERTIES
+    DOXYGEN_TAGFILE \"${_tagfile_installdir}/${_tagfile_name}\"
+    QHP_NAMESPACE \"${_namespace}\"
+    QHP_NAMESPACE_VERSIONED \"${_namespace_versioned}\"
+    QHP_VIRTUALFOLDER \"${_virtualfolder}\"
+    IMPORTED TRUE
+)
+set_property(TARGET ${_target} PROPERTY LINK_QCHS ${_linkqchs})
+
+endif()
+"
+            )
+        else()
+            message(STATUS "No target exported for ${_target}.")
+        endif()
+    endforeach()
+
+    if (NOT IS_ABSOLUTE ${ARGS_FILE})
+        set(ARGS_FILE "${CMAKE_CURRENT_BINARY_DIR}/${ARGS_FILE}")
+    endif()
+
+    file(GENERATE
+        OUTPUT "${ARGS_FILE}"
+        CONTENT "${_content}"
+    )
+
+    if (DEFINED ARGS_COMPONENT)
+        set(_component COMPONENT ${ARGS_COMPONENT})
+    else()
+        set(_component)
+    endif()
+    install(
+        FILES "${ARGS_FILE}"
+        DESTINATION "${ARGS_DESTINATION}"
+        ${_component}
+    )
+
+endfunction()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/extra-cmake-modules-5.35.0/modules/ECMQchDoxygen.config.in 
new/extra-cmake-modules-5.36.0/modules/ECMQchDoxygen.config.in
--- old/extra-cmake-modules-5.35.0/modules/ECMQchDoxygen.config.in      
1970-01-01 01:00:00.000000000 +0100
+++ new/extra-cmake-modules-5.36.0/modules/ECMQchDoxygen.config.in      
2017-06-23 17:48:53.000000000 +0200
@@ -0,0 +1,238 @@
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+PROJECT_NAME           = @ECM_QCH_DOXYGEN_PROJECTNAME@
+PROJECT_NUMBER         = @ECM_QCH_DOXYGEN_PROJECTVERSION@
+OUTPUT_DIRECTORY       = @ECM_QCH_DOXYGEN_OUTPUTDIR@
+GENERATE_TAGFILE       = @ECM_QCH_DOXYGEN_TAGFILE@
+CREATE_SUBDIRS         = NO
+OUTPUT_LANGUAGE        = English
+BRIEF_MEMBER_DESC      = YES
+REPEAT_BRIEF           = YES
+ABBREVIATE_BRIEF       = "The \$name class" \
+                         "The \$name widget" \
+                         "The \$name file" \
+                         is \
+                         provides \
+                         specifies \
+                         contains \
+                         represents \
+                         a \
+                         an \
+                         the
+ALWAYS_DETAILED_SEC    = YES
+INLINE_INHERITED_MEMB  = NO
+FULL_PATH_NAMES        = NO
+STRIP_FROM_PATH        = 
+STRIP_FROM_INC_PATH    = 
+SHORT_NAMES            = NO
+# Do not require explicity @brief command for brief description
+JAVADOC_AUTOBRIEF      = YES
+MULTILINE_CPP_IS_BRIEF = NO
+INHERIT_DOCS           = YES
+SEPARATE_MEMBER_PAGES  = NO
+TAB_SIZE               = 8
+OPTIMIZE_OUTPUT_FOR_C  = NO
+OPTIMIZE_OUTPUT_JAVA   = NO
+BUILTIN_STL_SUPPORT    = NO
+DISTRIBUTE_GROUP_DOC   = NO
+SUBGROUPING            = YES
+LAYOUT_FILE            = @ECM_QCH_DOXYGEN_LAYOUTFILE@
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+EXTRACT_ALL            = NO
+EXTRACT_PRIVATE        = NO
+EXTRACT_STATIC         = YES
+EXTRACT_LOCAL_CLASSES  = NO
+EXTRACT_LOCAL_METHODS  = NO
+EXTRACT_ANON_NSPACES   = NO
+# Require classes to be documented to appear in apidox, but always document all
+# public and protected members (even if static)
+HIDE_UNDOC_MEMBERS     = NO
+HIDE_UNDOC_CLASSES     = YES
+HIDE_FRIEND_COMPOUNDS  = YES
+HIDE_IN_BODY_DOCS      = NO
+INTERNAL_DOCS          = NO
+CASE_SENSE_NAMES       = YES
+HIDE_SCOPE_NAMES       = NO
+SHOW_INCLUDE_FILES     = YES
+HIDE_COMPOUND_REFERENCE = YES
+INLINE_INFO            = YES
+SORT_MEMBER_DOCS       = YES
+SORT_MEMBERS_CTORS_1ST = YES
+SORT_BRIEF_DOCS        = YES
+SORT_BY_SCOPE_NAME     = NO
+GENERATE_TODOLIST      = NO
+GENERATE_TESTLIST      = NO
+GENERATE_BUGLIST       = NO
+GENERATE_DEPRECATEDLIST = YES
+ENABLED_SECTIONS       = 
+MAX_INITIALIZER_LINES  = 30
+SHOW_USED_FILES        = NO
+SHOW_FILES             = YES
+FILE_VERSION_FILTER    = 
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+QUIET                  = @ECM_QCH_DOXYGEN_QUIET@
+WARNINGS               = YES
+WARN_IF_UNDOCUMENTED   = YES
+WARN_IF_DOC_ERROR      = YES
+WARN_NO_PARAMDOC       = YES
+WARN_FORMAT            = "\$file:\$line: \$text"
+WARN_LOGFILE           = @ECM_QCH_DOXYGEN_WARN_LOGFILE@
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+INPUT                  = @ECM_QCH_DOXYGEN_INPUT@
+FILE_PATTERNS          = @ECM_QCH_DOXYGEN_FILE_PATTERNS@
+RECURSIVE              = YES
+EXCLUDE                = 
+EXCLUDE_SYMLINKS       = NO
+EXCLUDE_PATTERNS       = */.svn/* \
+                         */.git/* \
+                         */cmake/* \
+                         *.moc.* \
+                         moc* \
+                         *.all_cpp.* \
+                         *unload.* \
+                         */test/* \
+                         */tests/* \
+                         */autotests/* \
+                         *_p.cpp \
+                         *_p.h
+# Symbols from Qt that show up occassionlly and we don't want to see
+EXCLUDE_SYMBOLS        = iterator const_iterator
+EXAMPLE_PATH           = @ECM_QCH_DOXYGEN_EXAMPLEDIRS@
+EXAMPLE_PATTERNS       = *
+EXAMPLE_RECURSIVE      = YES
+IMAGE_PATH             = @ECM_QCH_DOXYGEN_IMAGEDIRS@
+INPUT_FILTER           = 
+FILTER_PATTERNS        = 
+FILTER_SOURCE_FILES    = NO
+USE_MDFILE_AS_MAINPAGE = @ECM_QCH_DOXYGEN_MAINPAGE_MDFILE@
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+ALPHABETICAL_INDEX     = NO
+COLS_IN_ALPHA_INDEX    = 5
+IGNORE_PREFIX          = 
+#---------------------------------------------------------------------------
+# do NOT generate any formats other than qhp
+#---------------------------------------------------------------------------
+SOURCE_BROWSER         = NO
+GENERATE_HTML          = YES
+GENERATE_LATEX         = NO
+GENERATE_MAN           = NO
+GENERATE_RTF           = NO
+GENERATE_XML           = NO
+GENERATE_AUTOGEN_DEF   = NO
+GENERATE_PERLMOD       = NO
+DISABLE_INDEX          = YES
+HTML_DYNAMIC_SECTIONS  = NO
+#---------------------------------------------------------------------------
+# configuration options related to the qhp output
+#---------------------------------------------------------------------------
+GENERATE_QHP           = YES
+QCH_FILE               = @ECM_QCH_DOXYGEN_FILEPATH@
+QHP_NAMESPACE          = @ECM_QCH_DOXYGEN_FULLNAMESPACE@
+QHP_VIRTUAL_FOLDER     = @ECM_QCH_DOXYGEN_VIRTUALFOLDER@
+QHG_LOCATION           = @ECM_QCH_DOXYGEN_QHELPGENERATOR_EXECUTABLE@
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor   
+#---------------------------------------------------------------------------
+ENABLE_PREPROCESSING   = YES
+MACRO_EXPANSION        = YES
+EXPAND_ONLY_PREDEF     = NO
+SEARCH_INCLUDES        = YES
+INCLUDE_PATH           = 
+INCLUDE_FILE_PATTERNS  = 
+EXPAND_AS_DEFINED      = 
+SKIP_FUNCTION_MACROS   = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references   
+#---------------------------------------------------------------------------
+ALLEXTERNALS           = NO
+EXTERNAL_GROUPS        = YES
+TAGFILES               = @ECM_QCH_DOXYGEN_TAGFILES@
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool   
+#---------------------------------------------------------------------------
+CLASS_DIAGRAMS         = NO
+HIDE_UNDOC_RELATIONS   = YES
+HAVE_DOT               = NO
+CLASS_GRAPH            = NO
+COLLABORATION_GRAPH    = NO
+GROUP_GRAPHS           = NO
+UML_LOOK               = NO
+TEMPLATE_RELATIONS     = NO
+INCLUDE_GRAPH          = NO
+INCLUDED_BY_GRAPH      = NO
+CALL_GRAPH             = NO
+CALLER_GRAPH           = NO
+GRAPHICAL_HIERARCHY    = NO
+DIRECTORY_GRAPH        = NO
+GENERATE_LEGEND        = NO
+#---------------------------------------------------------------------------
+# Configuration::additions related to the search engine   
+#---------------------------------------------------------------------------
+SEARCHENGINE           = NO
+
+
+### KDE Settings
+ALIASES                = "intern=\par<b>Internal use only.</b>" \
+                         "reimp=\par<b>Reimplemented from superclass.</b>" \
+                         "obsolete=@deprecated" \
+                         "feature=\xrefitem features \"Feature(s)\" 
\"Features\"" \
+                         "unmaintained=\xrefitem unmaintained \"Unmaintained\" 
\"Unmaintained\"" \
+                         "requirement=\xrefitem requirements 
\"Requirement(s)\" \"Requirements\"" \
+                         "faq=\xrefitem FAQ \"F.A.Q.\" \"F.A.Q.\"" \
+                         "authors=\xrefitem authors \"Author(s)\" \"Authors\"" 
\
+                         "maintainers=\xrefitem maintainers \"Maintainer(s)\" 
\"Maintainers\"" \
+                         "glossary=\xrefitem glossary \"Glossary\" 
\"Glossary\"" \
+                         "acronym=\b " \
+                         "licenses=\xrefitem licenses \"License(s)\" 
\"Licenses\"" \
+                         "FIXME=\xrefitem fixme \"Fixme\" \"Fixme\"" \
+                         "bc=\xrefitem bc \"Binary Compatible\" \"Binary 
Compatible\"" \
+                         "threadsafe=\xrefitem threadsafe \"Threadsafe\" 
\"Threadsafe\"" \
+                         "artistic=<a 
href=\"http://www.opensource.org/licenses/artistic-license.php\";>Artistic</a>" \
+                         "bsd=<a 
href=\"http://www.xfree86.org/3.3.6/COPYRIGHT2.html#5\";>BSD</a>" \
+                         "x11=<a 
href=\"http://www.xfree86.org/3.3.6/COPYRIGHT2.html#3\";>X11</a>" \
+                         "gpl=<a 
href=\"http://www.gnu.org/licenses/old-licenses/gpl-2.0.html#SEC1\";>GPLv2</a>" \
+                         "lgpl=<a 
href=\"http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html#SEC1\";>LGPLv2</a>"
 \
+                         "mit=<a 
href=\"http://www.opensource.org/licenses/mit-license.php\";>MIT</a>" \
+                         "qpl=<a 
href=\"http://doc.trolltech.com/3.0/license.html\";>QPL</a>"
+
+PREDEFINED = DOXYGEN_SHOULD_SKIP_THIS \
+\
+        Q_WS_X11="" \
+        Q_WS_WIN="" \
+        Q_WS_MAC="" \
+        Q_WS_QWS="" \
+        Q_WS_MAEMO_5="" \
+        Q_OS_LINUX="" \
+        Q_OS_UNIX="" \
+        Q_OS_WIN="" \
+        Q_OS_MAC="" \
+        Q_OS_MACX="" \
+        Q_OS_DARWIN="" \
+        Q_OS_FREEBSD="" \
+        Q_OS_NETBSD="" \
+        Q_OS_OPENBSD="" \
+        Q_OS_BSD4="" \
+        Q_OS_SOLARIS="" \
+        Q_OS_IRIX="" \
+\
+        Q_SLOTS="slots" \
+        Q_SIGNALS="signals" \
+        Q_DECL_CONSTEXPR="constexpr" \
+        Q_DECL_FINAL="final" \
+        Q_DECL_NULLPTR="nullptr" \
+        Q_DECL_OVERRIDE="override" \
+        Q_DECL_HIDDEN="" \
+        Q_REQUIRED_RESULT="" \
+        Q_SCRIPTABLE="" \
+        Q_INVOKABLE="" \
+        @ECM_QCH_DOXYGEN_PREDEFINED_MACROS@ \
+        @ECM_QCH_DOXYGEN_BLANK_MACROS@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/extra-cmake-modules-5.35.0/modules/ECMQchDoxygenLayout.xml 
new/extra-cmake-modules-5.36.0/modules/ECMQchDoxygenLayout.xml
--- old/extra-cmake-modules-5.35.0/modules/ECMQchDoxygenLayout.xml      
1970-01-01 01:00:00.000000000 +0100
+++ new/extra-cmake-modules-5.36.0/modules/ECMQchDoxygenLayout.xml      
2017-06-23 17:48:53.000000000 +0200
@@ -0,0 +1,194 @@
+<doxygenlayout version="1.0">
+  <!-- Generated by doxygen 1.8.7 -->
+  <!-- Navigation index tabs for HTML output -->
+  <navindex>
+    <tab type="mainpage" visible="yes" title=""/>
+    <tab type="pages" visible="yes" title="" intro=""/>
+    <tab type="modules" visible="yes" title="" intro=""/>
+    <tab type="namespaces" visible="yes" title="">
+      <tab type="namespacelist" visible="yes" title="" intro=""/>
+      <tab type="namespacemembers" visible="yes" title="" intro=""/>
+    </tab>
+    <tab type="classes" visible="yes" title="">
+      <tab type="classlist" visible="yes" title="" intro=""/>
+      <tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/> 
+      <tab type="hierarchy" visible="yes" title="" intro=""/>
+      <tab type="classmembers" visible="yes" title="" intro=""/>
+    </tab>
+    <tab type="files" visible="yes" title="">
+      <tab type="filelist" visible="yes" title="" intro=""/>
+      <tab type="globals" visible="yes" title="" intro=""/>
+    </tab>
+    <tab type="examples" visible="yes" title="" intro=""/>  
+  </navindex>
+
+  <!-- Layout definition for a class page -->
+  <class>
+    <briefdescription visible="yes"/>
+    <includes visible="$SHOW_INCLUDE_FILES"/>
+    <inheritancegraph visible="$CLASS_GRAPH"/>
+    <collaborationgraph visible="$COLLABORATION_GRAPH"/>
+    <memberdecl>
+      <nestedclasses visible="yes" title=""/>
+      <publictypes title=""/>
+      <services title=""/>
+      <interfaces title=""/>
+      <properties title=""/>
+      <signals title=""/>
+      <publicslots title=""/>
+      <publicmethods title=""/>
+      <publicstaticmethods title=""/>
+      <publicattributes title=""/>
+      <publicstaticattributes title=""/>
+      <protectedtypes title=""/>
+      <protectedslots title=""/>
+      <protectedmethods title=""/>
+      <protectedstaticmethods title=""/>
+      <protectedattributes title=""/>
+      <protectedstaticattributes title=""/>
+      <packagetypes title=""/>
+      <packagemethods title=""/>
+      <packagestaticmethods title=""/>
+      <packageattributes title=""/>
+      <packagestaticattributes title=""/>
+      <events title=""/>
+      <privatetypes title=""/>
+      <privateslots title=""/>
+      <privatemethods title=""/>
+      <privatestaticmethods title=""/>
+      <privateattributes title=""/>
+      <privatestaticattributes title=""/>
+      <friends title=""/>
+      <related title="" subtitle=""/>
+      <membergroups visible="yes"/>
+    </memberdecl>
+    <detaileddescription title=""/>
+    <memberdef>
+      <inlineclasses title=""/>
+      <typedefs title=""/>
+      <enums title=""/>
+      <properties title=""/>
+      <services title=""/>
+      <interfaces title=""/>
+      <constructors title=""/>
+      <functions title=""/>
+      <related title=""/>
+      <variables title=""/>
+      <events title=""/>
+    </memberdef>
+    <allmemberslink visible="yes"/>
+    <usedfiles visible="$SHOW_USED_FILES"/>
+    <authorsection visible="yes"/>
+  </class>
+
+  <!-- Layout definition for a namespace page -->
+  <namespace>
+    <briefdescription visible="yes"/>
+    <memberdecl>
+      <nestednamespaces visible="yes" title=""/>
+      <constantgroups visible="yes" title=""/>
+      <classes visible="yes" title=""/>
+      <typedefs title=""/>
+      <enums title=""/>
+      <functions title=""/>
+      <variables title=""/>
+      <membergroups visible="yes"/>
+    </memberdecl>
+    <detaileddescription title=""/>
+    <memberdef>
+      <inlineclasses title=""/>
+      <typedefs title=""/>
+      <enums title=""/>
+      <functions title=""/>
+      <variables title=""/>
+    </memberdef>
+    <authorsection visible="yes"/>
+  </namespace>
+
+  <!-- Layout definition for a file page -->
+  <file>
+    <briefdescription visible="yes"/>
+    <includes visible="no"/>
+    <includegraph visible="$INCLUDE_GRAPH"/>
+    <includedbygraph visible="$INCLUDED_BY_GRAPH"/>
+    <sourcelink visible="no"/>
+    <memberdecl>
+      <classes visible="yes" title=""/>
+      <namespaces visible="yes" title=""/>
+      <constantgroups visible="yes" title=""/>
+      <defines title=""/>
+      <typedefs title=""/>
+      <enums title=""/>
+      <functions title=""/>
+      <variables title=""/>
+      <membergroups visible="yes"/>
+    </memberdecl>
+    <detaileddescription title=""/>
+    <memberdef>
+      <inlineclasses title=""/>
+      <defines title=""/>
+      <typedefs title=""/>
+      <enums title=""/>
+      <functions title=""/>
+      <variables title=""/>
+    </memberdef>
+    <authorsection/>
+  </file>
+
+  <!-- Layout definition for a group page -->
+  <group>
+    <briefdescription visible="yes"/>
+    <groupgraph visible="$GROUP_GRAPHS"/>
+    <memberdecl>
+      <nestedgroups visible="yes" title=""/>
+      <dirs visible="yes" title=""/>
+      <files visible="yes" title=""/>
+      <namespaces visible="yes" title=""/>
+      <classes visible="yes" title=""/>
+      <defines title=""/>
+      <typedefs title=""/>
+      <enums title=""/>
+      <enumvalues title=""/>
+      <functions title=""/>
+      <variables title=""/>
+      <signals title=""/>
+      <publicslots title=""/>
+      <protectedslots title=""/>
+      <privateslots title=""/>
+      <events title=""/>
+      <properties title=""/>
+      <friends title=""/>
+      <membergroups visible="yes"/>
+    </memberdecl>
+    <detaileddescription title=""/>
+    <memberdef>
+      <pagedocs/>
+      <inlineclasses title=""/>
+      <defines title=""/>
+      <typedefs title=""/>
+      <enums title=""/>
+      <enumvalues title=""/>
+      <functions title=""/>
+      <variables title=""/>
+      <signals title=""/>
+      <publicslots title=""/>
+      <protectedslots title=""/>
+      <privateslots title=""/>
+      <events title=""/>
+      <properties title=""/>
+      <friends title=""/>
+    </memberdef>
+    <authorsection visible="yes"/>
+  </group>
+
+  <!-- Layout definition for a directory page -->
+  <directory>
+    <briefdescription visible="yes"/>
+    <directorygraph visible="yes"/>
+    <memberdecl>
+      <dirs visible="yes"/>
+      <files visible="yes"/>
+    </memberdecl>
+    <detaileddescription title=""/>
+  </directory>
+</doxygenlayout>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/extra-cmake-modules-5.35.0/tests/CMakeLists.txt 
new/extra-cmake-modules-5.36.0/tests/CMakeLists.txt
--- old/extra-cmake-modules-5.35.0/tests/CMakeLists.txt 2017-05-30 
01:05:18.000000000 +0200
+++ new/extra-cmake-modules-5.36.0/tests/CMakeLists.txt 2017-06-23 
17:48:53.000000000 +0200
@@ -145,6 +145,7 @@
 
 set(KDEInstallDirsTest.relative_or_absolute_usr_EXTRA_OPTIONS
     --build-options -DCMAKE_INSTALL_PREFIX=/usr
+                    -DKDE_INSTALL_USE_QT_SYS_PATHS=FALSE
                     -DAUTOSTARTDIR_should_be_absolute=TRUE
                     -DCONFDIR_should_be_absolute=TRUE
                     -DSYSCONFDIR_should_be_absolute=TRUE
@@ -157,6 +158,7 @@
         --build-options -DKDE_INSTALL_USE_QT_SYS_PATHS=TRUE
                         -DPLUGINDIR_should_be_absolute=TRUE
                         -DQMLDIR_should_be_absolute=TRUE
+                        -DQTQCHDIR_should_be_absolute=TRUE
                         -DQTPLUGINDIR_should_be_absolute=TRUE
                         -DQTQUICKIMPORTSDIR_should_be_absolute=TRUE
         )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/extra-cmake-modules-5.35.0/tests/ECMAddAppIconTest/CMakeLists.txt 
new/extra-cmake-modules-5.36.0/tests/ECMAddAppIconTest/CMakeLists.txt
--- old/extra-cmake-modules-5.35.0/tests/ECMAddAppIconTest/CMakeLists.txt       
2017-05-30 01:05:18.000000000 +0200
+++ new/extra-cmake-modules-5.36.0/tests/ECMAddAppIconTest/CMakeLists.txt       
2017-06-23 17:48:53.000000000 +0200
@@ -13,7 +13,8 @@
 ecm_add_app_icon(OUT ICONS ${ICONS})
 
 if(WIN32 OR APPLE)
-    if(${OUT} STREQUAL "")
+    list(LENGTH OUT out_count)
+    if(out_count EQUAL 0)
         message(FATAL_ERROR "ecm_add_app_icon() haven't produced anything")
     endif()
 endif()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/extra-cmake-modules-5.35.0/tests/KDEFetchTranslations/CMakeLists.txt 
new/extra-cmake-modules-5.36.0/tests/KDEFetchTranslations/CMakeLists.txt
--- old/extra-cmake-modules-5.35.0/tests/KDEFetchTranslations/CMakeLists.txt    
2017-05-30 01:05:18.000000000 +0200
+++ new/extra-cmake-modules-5.36.0/tests/KDEFetchTranslations/CMakeLists.txt    
2017-06-23 17:48:53.000000000 +0200
@@ -5,6 +5,7 @@
 set(all_kde_modules
     KDEInstallDirs
     KDECMakeSettings
+    ECMMarkNonGuiExecutable
 )
 
 set(ECM_KDE_MODULE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../kde-modules)
@@ -21,6 +22,9 @@
     message(FATAL_ERROR "Wrong repository name: ${name}, should be 
'extra-cmake-modules'")
 endif()
 add_executable(dummy ../ExecuteKDEModules/main.c)
+ecm_mark_nongui_executable(dummy)
+
+set_target_properties(dummy PROPERTIES RUNTIME_OUTPUT_DIRECTORY 
${CMAKE_CURRENT_BINARY_DIR})
 
 if(NOT TARGET fetch-translations)
     message(FATAL_ERROR "should have a fetch-translations target")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/extra-cmake-modules-5.35.0/tests/KDEInstallDirsTest/var_list.cmake 
new/extra-cmake-modules-5.36.0/tests/KDEInstallDirsTest/var_list.cmake
--- old/extra-cmake-modules-5.35.0/tests/KDEInstallDirsTest/var_list.cmake      
2017-05-30 01:05:18.000000000 +0200
+++ new/extra-cmake-modules-5.36.0/tests/KDEInstallDirsTest/var_list.cmake      
2017-06-23 17:48:53.000000000 +0200
@@ -33,8 +33,10 @@
     MIMEDIR
     METAINFODIR
     PLUGINDIR
+    QCHDIR
     QMLDIR
     QTPLUGINDIR
+    QTQCHDIR
     QTQUICKIMPORTSDIR
     SBINDIR
     SHAREDSTATEDIR
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/extra-cmake-modules-5.35.0/toolchain/deployment-file.json.in 
new/extra-cmake-modules-5.36.0/toolchain/deployment-file.json.in
--- old/extra-cmake-modules-5.35.0/toolchain/deployment-file.json.in    
2017-05-30 01:05:18.000000000 +0200
+++ new/extra-cmake-modules-5.36.0/toolchain/deployment-file.json.in    
2017-06-23 17:48:53.000000000 +0200
@@ -8,7 +8,7 @@
    "ndk-host": "@_HOST@",
    "target-architecture": "@ANDROID_ABI@",
    "application-binary": "@EXECUTABLE_DESTINATION_PATH@",
-   "qml-root-path": "@CMAKE_INSTALL_PREFIX@/share",
+   "qml-root-path": "@CMAKE_INSTALL_PREFIX@",
    ##EXTRALIBS##
    ##EXTRAPLUGINS##
    "android-package-source-directory": "@ANDROID_APK_DIR@",


Reply via email to