Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package extra-cmake-modules for 
openSUSE:Factory checked in at 2021-08-16 10:07:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/extra-cmake-modules (Old)
 and      /work/SRC/openSUSE:Factory/.extra-cmake-modules.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "extra-cmake-modules"

Mon Aug 16 10:07:25 2021 rev:92 rq:912105 version:5.85.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/extra-cmake-modules/extra-cmake-modules.changes  
2021-07-16 00:00:48.965346339 +0200
+++ 
/work/SRC/openSUSE:Factory/.extra-cmake-modules.new.1899/extra-cmake-modules.changes
        2021-08-16 10:11:10.291127685 +0200
@@ -1,0 +2,9 @@
+Fri Aug  6 12:11:20 UTC 2021 - Christophe Giboudeaux <[email protected]>
+
+- Update to 5.85.0
+  * New feature release
+  * For more details please see:
+  * https://kde.org/announcements/frameworks/5/5.85.0
+- Too many changes to list here.
+
+-------------------------------------------------------------------

Old:
----
  extra-cmake-modules-5.84.0.tar.xz
  extra-cmake-modules-5.84.0.tar.xz.sig

New:
----
  extra-cmake-modules-5.85.0.tar.xz
  extra-cmake-modules-5.85.0.tar.xz.sig

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

Other differences:
------------------
++++++ extra-cmake-modules.spec ++++++
--- /var/tmp/diff_new_pack.dS7mm5/_old  2021-08-16 10:11:10.827127056 +0200
+++ /var/tmp/diff_new_pack.dS7mm5/_new  2021-08-16 10:11:10.831127051 +0200
@@ -16,7 +16,7 @@
 #
 
 
-%define _tar_path 5.84
+%define _tar_path 5.85
 # Full KF5 version (e.g. 5.33.0)
 %{!?_kf5_version: %global _kf5_version %{version}}
 # Last major and minor KF5 version (e.g. 5.33)
@@ -25,7 +25,7 @@
 # Only needed for the package signature condition
 %bcond_without lang
 Name:           extra-cmake-modules
-Version:        5.84.0
+Version:        5.85.0
 Release:        0
 Summary:        CMake modules
 License:        BSD-3-Clause

++++++ extra-cmake-modules-5.84.0.tar.xz -> extra-cmake-modules-5.85.0.tar.xz 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/extra-cmake-modules-5.84.0/CMakeLists.txt 
new/extra-cmake-modules-5.85.0/CMakeLists.txt
--- old/extra-cmake-modules-5.84.0/CMakeLists.txt       2021-07-01 
17:05:25.000000000 +0200
+++ new/extra-cmake-modules-5.85.0/CMakeLists.txt       2021-08-06 
01:39:58.000000000 +0200
@@ -11,7 +11,7 @@
 # Preliminary setup
 #
 
-set(VERSION "5.84.0") # handled by release scripts
+set(VERSION "5.85.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.84.0/docs/find-module/Find7z.rst 
new/extra-cmake-modules-5.85.0/docs/find-module/Find7z.rst
--- old/extra-cmake-modules-5.84.0/docs/find-module/Find7z.rst  1970-01-01 
01:00:00.000000000 +0100
+++ new/extra-cmake-modules-5.85.0/docs/find-module/Find7z.rst  2021-08-06 
01:39:58.000000000 +0200
@@ -0,0 +1 @@
+.. ecm-module:: ../../find-modules/Find7z.cmake
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/extra-cmake-modules-5.84.0/docs/find-module/Findgzip.rst 
new/extra-cmake-modules-5.85.0/docs/find-module/Findgzip.rst
--- old/extra-cmake-modules-5.84.0/docs/find-module/Findgzip.rst        
1970-01-01 01:00:00.000000000 +0100
+++ new/extra-cmake-modules-5.85.0/docs/find-module/Findgzip.rst        
2021-08-06 01:39:58.000000000 +0200
@@ -0,0 +1 @@
+.. ecm-module:: ../../find-modules/Findgzip.cmake
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/extra-cmake-modules-5.84.0/find-modules/Find7z.cmake 
new/extra-cmake-modules-5.85.0/find-modules/Find7z.cmake
--- old/extra-cmake-modules-5.84.0/find-modules/Find7z.cmake    1970-01-01 
01:00:00.000000000 +0100
+++ new/extra-cmake-modules-5.85.0/find-modules/Find7z.cmake    2021-08-06 
01:39:58.000000000 +0200
@@ -0,0 +1,54 @@
+# SPDX-FileCopyrightText: 2019, 2021 Friedrich W. H. Kossebau 
<[email protected]>
+#
+# SPDX-License-Identifier: BSD-3-Clause
+
+#[=======================================================================[.rst:
+Find7z
+------
+
+Try to find 7z.
+
+If the 7z executable is not in your PATH, you can provide
+an alternative name or full path location with the ``7z_EXECUTABLE``
+variable.
+
+This will define the following variables:
+
+``7z_FOUND``
+    TRUE if 7z is available
+
+``7z_EXECUTABLE``
+    Path to 7z executable
+
+If ``7z_FOUND`` is TRUE, it will also define the following imported
+target:
+
+``7z::7z``
+    Path to 7z executable
+
+Since 5.85.0.
+#]=======================================================================]
+
+find_program(7z_EXECUTABLE NAMES 7z.exe 7za.exe)
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(7z
+    FOUND_VAR
+        7z_FOUND
+    REQUIRED_VARS
+        7z_EXECUTABLE
+)
+mark_as_advanced(7z_EXECUTABLE)
+
+if(NOT TARGET 7z::7z AND 7z_FOUND)
+    add_executable(7z::7z IMPORTED)
+    set_target_properties(7z::7z PROPERTIES
+        IMPORTED_LOCATION "${7z_EXECUTABLE}"
+    )
+endif()
+
+include(FeatureSummary)
+set_package_properties(7z PROPERTIES
+    URL "https://www.7-zip.org/";
+    DESCRIPTION "Data (de)compression program"
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/extra-cmake-modules-5.84.0/find-modules/FindGperf.cmake 
new/extra-cmake-modules-5.85.0/find-modules/FindGperf.cmake
--- old/extra-cmake-modules-5.84.0/find-modules/FindGperf.cmake 2021-07-01 
17:05:25.000000000 +0200
+++ new/extra-cmake-modules-5.85.0/find-modules/FindGperf.cmake 2021-08-06 
01:39:58.000000000 +0200
@@ -20,6 +20,9 @@
 ``Gperf_EXECUTABLE``
     The gperf executable.
 
+``Gperf_VERSION``
+    The gperf version. (since 5.85)
+
 If ``Gperf_FOUND`` is TRUE, it will also define the following imported
 target:
 
@@ -56,12 +59,27 @@
 # Find gperf
 find_program(Gperf_EXECUTABLE NAMES gperf)
 
+if(Gperf_EXECUTABLE)
+    execute_process(COMMAND ${Gperf_EXECUTABLE} -v
+        OUTPUT_VARIABLE _version_string
+        ERROR_QUIET
+        OUTPUT_STRIP_TRAILING_WHITESPACE)
+    if(_version_string MATCHES "^GNU gperf ([-0-9\\.]+)")
+        set(Gperf_VERSION "${CMAKE_MATCH_1}")
+    endif()
+    unset(_version_string)
+else()
+    set(Gperf_VERSION)
+endif()
+
 include(FindPackageHandleStandardArgs)
 find_package_handle_standard_args(Gperf
     FOUND_VAR
         Gperf_FOUND
     REQUIRED_VARS
         Gperf_EXECUTABLE
+    VERSION_VAR
+        Gperf_VERSION
 )
 
 mark_as_advanced(Gperf_EXECUTABLE)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/extra-cmake-modules-5.84.0/find-modules/Findgzip.cmake 
new/extra-cmake-modules-5.85.0/find-modules/Findgzip.cmake
--- old/extra-cmake-modules-5.84.0/find-modules/Findgzip.cmake  1970-01-01 
01:00:00.000000000 +0100
+++ new/extra-cmake-modules-5.85.0/find-modules/Findgzip.cmake  2021-08-06 
01:39:58.000000000 +0200
@@ -0,0 +1,54 @@
+# SPDX-FileCopyrightText: 2019, 2021 Friedrich W. H. Kossebau 
<[email protected]>
+#
+# SPDX-License-Identifier: BSD-3-Clause
+
+#[=======================================================================[.rst:
+Findgzip
+--------
+
+Try to find gzip.
+
+If the gzip executable is not in your PATH, you can provide
+an alternative name or full path location with the ``gzip_EXECUTABLE``
+variable.
+
+This will define the following variables:
+
+``gzip_FOUND``
+    TRUE if gzip is available
+
+``gzip_EXECUTABLE``
+    Path to gzip executable
+
+If ``gzip_FOUND`` is TRUE, it will also define the following imported
+target:
+
+``gzip::gzip``
+    Path to gzip executable
+
+Since 5.85.0.
+#]=======================================================================]
+
+find_program(gzip_EXECUTABLE NAMES gzip)
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(gzip
+    FOUND_VAR
+        gzip_FOUND
+    REQUIRED_VARS
+        gzip_EXECUTABLE
+)
+mark_as_advanced(gzip_EXECUTABLE)
+
+if(NOT TARGET gzip::gzip AND gzip_FOUND)
+    add_executable(gzip::gzip IMPORTED)
+    set_target_properties(gzip::gzip PROPERTIES
+        IMPORTED_LOCATION "${gzip_EXECUTABLE}"
+    )
+endif()
+
+include(FeatureSummary)
+set_package_properties(gzip PROPERTIES
+    URL "https://www.gnu.org/software/gzip";
+    DESCRIPTION "Data compression program for the gzip format"
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/extra-cmake-modules-5.84.0/find-modules/rules_engine.py 
new/extra-cmake-modules-5.85.0/find-modules/rules_engine.py
--- old/extra-cmake-modules-5.84.0/find-modules/rules_engine.py 2021-07-01 
17:05:25.000000000 +0200
+++ new/extra-cmake-modules-5.85.0/find-modules/rules_engine.py 2021-08-06 
01:39:58.000000000 +0200
@@ -812,7 +812,7 @@
     """
     To implement your own binding, create a subclass of RuleSet, also called
     RuleSet in your own Python module. Your subclass will expose the raw rules
-    along with other ancilliary data exposed through the subclass methods.
+    along with other ancillary data exposed through the subclass methods.
 
     You then simply run the SIP generation and SIP compilation programs passing
     in the name of your rules file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/extra-cmake-modules-5.84.0/find-modules/sip_generator.py 
new/extra-cmake-modules-5.85.0/find-modules/sip_generator.py
--- old/extra-cmake-modules-5.84.0/find-modules/sip_generator.py        
2021-07-01 17:05:25.000000000 +0200
+++ new/extra-cmake-modules-5.85.0/find-modules/sip_generator.py        
2021-08-06 01:39:58.000000000 +0200
@@ -286,7 +286,7 @@
                     pass
                 elif is_copy_constructor(member) or 
is_default_constructor(member):
                     #
-                    # ...we need to pass private copy contructors to the SIP 
compiler.
+                    # ...we need to pass private copy constructors to the SIP 
compiler.
                     #
                     pass
                 else:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/extra-cmake-modules-5.84.0/kde-modules/KDECompilerSettings.cmake 
new/extra-cmake-modules-5.85.0/kde-modules/KDECompilerSettings.cmake
--- old/extra-cmake-modules-5.84.0/kde-modules/KDECompilerSettings.cmake        
2021-07-01 17:05:25.000000000 +0200
+++ new/extra-cmake-modules-5.85.0/kde-modules/KDECompilerSettings.cmake        
2021-08-06 01:39:58.000000000 +0200
@@ -4,6 +4,7 @@
 # SPDX-FileCopyrightText: 2007 Matthias Kretz <[email protected]>
 # SPDX-FileCopyrightText: 2006-2007 Laurent Montel <[email protected]>
 # SPDX-FileCopyrightText: 2006-2013 Alex Neundorf <[email protected]>
+# SPDX-FileCopyrightText: 2021 Friedrich W. H. Kossebau <[email protected]>
 #
 # SPDX-License-Identifier: BSD-3-Clause
 
@@ -21,6 +22,98 @@
 NB: it is recommended to include this module with the NO_POLICY_SCOPE
 flag, otherwise you may get spurious warnings with some versions of CMake.
 
+Since 5.85 newer settings are controlled by a variable
+``KDE_COMPILERSETTINGS_LEVEL``, taking an ECM version as value. That
+version can not be greater than the minimum required ECM version.
+The settings which are default at that version will then be used,
+but can be overridden by more fine-grained controls (see respective settings).
+This variable needs to be set before including this module, otherwise
+defaults to the minimum required ECM version.
+
+Modern code
+~~~~~~~~~~~
+
+The following CMake C standard default variables are set:
+
+For ``KDE_COMPILERSETTINGS_LEVEL`` >= 5.85:
+
+- ``CMAKE_C_STANDARD``: ``99``
+- ``CMAKE_C_STANDARD_REQUIRED``: ``TRUE``
+- ``CMAKE_C_EXTENSIONS``: ``OFF``
+
+Otherwise:
+
+- ``CMAKE_C_STANDARD``: ``90``
+- ``CMAKE_C_STANDARD_REQUIRED``: not modified
+- ``CMAKE_C_EXTENSIONS``: not modified
+
+If the variable ``CMAKE_C_STANDARD`` is already set when including this module,
+none of the above variables will be modified.
+
+The following CMake C++ standard default variables are set:
+
+For ``KDE_COMPILERSETTINGS_LEVEL`` >= 5.85:
+
+- ``CMAKE_CXX_STANDARD``: ``17``
+- ``CMAKE_CXX_STANDARD_REQUIRED``: ``TRUE``
+- ``CMAKE_CXX_EXTENSIONS``: ``OFF``
+
+Otherwise:
+
+- ``CMAKE_CXX_STANDARD``: ``11``
+- ``CMAKE_CXX_STANDARD_REQUIRED``: ``TRUE``
+- ``CMAKE_CXX_EXTENSIONS``: not modified.
+
+If the variable ``CMAKE_CXX_STANDARD`` is already set when including this 
module,
+none of the above variables will be modified.
+
+
+The following C++ compiler flags are set:
+
+- ``-pedantic`` (GNU and Clang compilers, since 5.85)
+
+  Can be disabled by setting ``KDE_SKIP_PEDANTIC_WARNINGS_SETTINGS`` to 
``TRUE``
+  before including this module (default is ``FALSE`` for
+  ``KDE_COMPILERSETTINGS_LEVEL`` >= 5.85, ``TRUE`` otherwise).
+
+- ``-Wmissing-include-dirs`` (GNU compilers, since 5.85)
+
+  Can be disabled by setting 
``KDE_SKIP_MISSING_INCLUDE_DIRS_WARNINGS_SETTINGS`` to ``TRUE``
+  before including this module (default is ``FALSE`` for
+  ``KDE_COMPILERSETTINGS_LEVEL`` >= 5.85, ``TRUE`` otherwise).
+
+- ``-Wzero-as-null-pointer-constant`` (GNU and Clang compilers, since 5.85)
+
+  Can be disabled by setting ``KDE_SKIP_NULLPTR_WARNINGS_SETTINGS`` to ``TRUE``
+  before including this module (default is ``FALSE`` for
+  ``KDE_COMPILERSETTINGS_LEVEL`` >= 5.85, ``TRUE`` otherwise).
+
+- Qt related preprocessor definitions (since 5.85.0):
+
+  - ``-DQT_NO_CAST_TO_ASCII``
+  - ``-DQT_NO_CAST_FROM_ASCII``
+  - ``-DQT_NO_URL_CAST_FROM_STRING``
+  - ``-DQT_NO_CAST_FROM_BYTEARRAY``
+  - ``-DQT_USE_QSTRINGBUILDER``
+  - ``-DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT``
+  - ``-DQT_NO_KEYWORDS``
+  - ``-DQT_NO_FOREACH``
+  - ``-DQT_STRICT_ITERATORS``
+
+    Strict iterators are not enabled on Windows, because they lead
+    to a link error when application code iterates over a QVector<QPoint> for
+    instance, unless Qt itself was also built with strict iterators.
+    See example at https://bugreports.qt.io/browse/AUTOSUITE-946
+
+  Can be controlled by setting ``KDE_QT_MODERNCODE_DEFINITIONS_LEVEL`` to the
+  version of ECM where the wanted set of definitions has been added
+  before including this module (default is ``KDE_COMPILERSETTINGS_LEVEL``).
+  To disable individual definitions instead use ``remove_definitions()`` 
directly
+  after including this module.
+
+Functions
+~~~~~~~~~
+
 This module provides the following functions::
 
   kde_source_files_enable_exceptions([file1 [file2 [...]]])
@@ -42,9 +135,93 @@
 Enables exceptions for C++ source files compiled for the
 CMakeLists.txt file in the current directory and all subdirectories.
 
+Variables
+~~~~~~~~~
+
+Inclusion of this module defines the following variables:
+
+``ENABLE_BSYMBOLICFUNCTIONS``
+    indicates whether we make use of -Bsymbolic-functions for linking.
+    It ensures libraries bind global function references locally rather than
+    at runtime.
+    This option only has an effect on ELF-based systems.
+
+    The option is disabled by default except when using
+    KDEFrameworkCompilerSettings.cmake where it's enabled. Projects can enable
+    it by calling set(ENABLE_BSYMBOLICFUNCTIONS ON) or passing -DENABLE
+    BSYMBOLICFUNCTIONS=ON when configuring the build directory.
+
+    Since 5.85
+
+Example usages:
+
+.. code-block:: cmake
+
+  # needing some macro/feature only available with ECM 5.80.0
+  find_package(ECM 5.80.0 NO_MODULE)
+
+  # requiring ECM 5.80.0 above will default KDE_COMPILERSETTINGS_LEVEL also to 
5.80.0,
+  # thus not activate any newer settings
+  include(KDECompilerSettings NO_POLICY_SCOPE)
+
+.. code-block:: cmake
+
+  # needing some macro/feature only available with ECM 5.87.0
+  find_package(ECM 5.87.0 NO_MODULE)
+
+  # project uses settings default as of KDECompilerSettings in ECM 5.85.0
+  set(KDE_COMPILERSETTINGS_LEVEL 5.85.0)
+  include(KDECompilerSettings NO_POLICY_SCOPE)
+
+.. code-block:: cmake
+
+  # needing some macro/feature only available with ECM 5.87.0
+  find_package(ECM 5.87.0 NO_MODULE)
+
+  # project mainly uses settings default as of KDECompilerSettings in ECM 
5.85.0
+  # with some small twisting
+  set(KDE_COMPILERSETTINGS_LEVEL 5.85.0)
+  # not ready yet for pedantic compilers
+  set(KDE_SKIP_PEDANTIC_WARNINGS_SETTINGS TRUE)
+  # avoid any Qt definitions
+  set(KDE_QT_MODERNCODE_DEFINITIONS_LEVEL 5.84.0)
+  include(KDECompilerSettings NO_POLICY_SCOPE)
+
+.. code-block:: cmake
+
+  # needing some macro/feature only available with ECM 5.85.0
+  find_package(ECM 5.85.0 NO_MODULE)
+
+  # requiring ECM 5.85.0 above will default KDE_COMPILERSETTINGS_LEVEL also to 
5.85.0,
+  # which again defaults KDE_QT_MODERNCODE_DEFINITIONS_LEVEL also to 5.85.0
+  include(KDECompilerSettings NO_POLICY_SCOPE)
+  # project is fine with almost all added Qt definitions as of 5.85.0, but not 
these ones:
+  remove_definitions(
+      -DQT_NO_KEYWORDS
+      -DQT_NO_FOREACH
+  )
+
 Since pre-1.0.0.
 #]=======================================================================]
 
+############################################################
+# Select and check KDE_COMPILERSETTINGS_LEVEL
+# For a specified version of KDE_COMPILERSETTINGS_LEVEL always the same set
+# of settings needs to be used, to give that version a meaning, even more as
+# the settings are usually more strict and can break builds which build fine
+# without the setting.
+# As at the time of version x it is usually unknown what future versions x+y
+# will offer as settings, the minimum required version of ECM sets the upper
+# limit then for the level version.
+if(NOT DEFINED KDE_COMPILERSETTINGS_LEVEL)
+    set(KDE_INTERNAL_COMPILERSETTINGS_LEVEL "${ECM_GLOBAL_FIND_VERSION}")
+else()
+    if(KDE_COMPILERSETTINGS_LEVEL VERSION_GREATER "${ECM_GLOBAL_FIND_VERSION}")
+        message(FATAL_ERROR "KDE_COMPILERSETTINGS_LEVEL 
(${KDE_COMPILERSETTINGS_LEVEL}) cannot be newer than the min. required ECM 
version (${ECM_GLOBAL_FIND_VERSION}).")
+    endif()
+    set(KDE_INTERNAL_COMPILERSETTINGS_LEVEL "${KDE_COMPILERSETTINGS_LEVEL}")
+endif()
+
 include("${ECM_MODULE_DIR}/ECMSourceVersionControl.cmake")
 
 ############################################################
@@ -174,6 +351,10 @@
     # As stated in http://msdn.microsoft.com/en-us/library/4hwaceh6.aspx M_PI 
only gets defined
     # if _USE_MATH_DEFINES is defined, with mingw this has a similar effect as 
-D_GNU_SOURCE on math.h
     _kde_add_platform_definitions(-D_USE_MATH_DEFINES)
+
+    # Don't define MIN and MAX in windows.h
+    # the defines break the use of std::max
+    _kde_add_platform_definitions(-DNOMINMAX)
 endif()
 
 
@@ -184,11 +365,22 @@
 
 # Pick sensible versions of the C and C++ standards.
 if (NOT CMAKE_C_STANDARD)
-    set(CMAKE_C_STANDARD 90)
+    if (KDE_INTERNAL_COMPILERSETTINGS_LEVEL VERSION_GREATER_EQUAL 5.85.0)
+        set(CMAKE_C_STANDARD 99)
+        set(CMAKE_C_STANDARD_REQUIRED TRUE)
+        set(CMAKE_C_EXTENSIONS OFF)
+    else()
+        set(CMAKE_C_STANDARD 90)
+    endif()
 endif()
 if (NOT CMAKE_CXX_STANDARD)
-    set(CMAKE_CXX_STANDARD 11)
-    set(CMAKE_CXX_STANDARD_REQUIRED True)
+    if (KDE_INTERNAL_COMPILERSETTINGS_LEVEL VERSION_GREATER_EQUAL 5.85.0)
+        set(CMAKE_CXX_STANDARD 17)
+        set(CMAKE_CXX_EXTENSIONS OFF)
+    else()
+        set(CMAKE_CXX_STANDARD 11)
+    endif()
+    set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
 endif()
 
 # Do not merge uninitialized global variables.
@@ -414,6 +606,21 @@
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4661")
 endif()
 
+option(ENABLE_BSYMBOLICFUNCTIONS "Make use of -Bsymbolic-functions" OFF)
+if (ENABLE_BSYMBOLICFUNCTIONS)
+    set(_SYMBOLIC_FUNCTIONS_COMPILER_OPTION "-Wl,-Bsymbolic-functions")
+    list(APPEND CMAKE_REQUIRED_LIBRARIES 
"${_SYMBOLIC_FUNCTIONS_COMPILER_OPTION}")
+
+    include(CheckCXXSourceCompiles)
+
+    check_cxx_source_compiles( "int main () { return 0; }" 
BSYMBOLICFUNCTIONS_AVAILABLE )
+    list(REMOVE_ITEM CMAKE_REQUIRED_LIBRARIES 
"${_SYMBOLIC_FUNCTIONS_COMPILER_OPTION}")
+    if (BSYMBOLICFUNCTIONS_AVAILABLE)
+        set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} 
${_SYMBOLIC_FUNCTIONS_COMPILER_OPTION}")
+        set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} 
${_SYMBOLIC_FUNCTIONS_COMPILER_OPTION}")
+    endif()
+endif()
+
 if (WIN32)
     # Disable deprecation warnings for some API
     # FIXME: do we really want this?
@@ -431,6 +638,77 @@
     _kde_add_platform_definitions(-DQT_MAC_USE_COCOA)
 endif()
 
+############################################################
+# Modern code
+############################################################
+
+function(_kde_set_default_skip_variable_by_min_ecm _var_name _ecm_version)
+    if(NOT DEFINED ${_var_name})
+        if (KDE_INTERNAL_COMPILERSETTINGS_LEVEL VERSION_LESS ${_ecm_version})
+            set(${_var_name} TRUE PARENT_SCOPE)
+        else()
+            set(${_var_name} FALSE PARENT_SCOPE)
+        endif()
+    endif()
+endfunction()
+
+if(NOT DEFINED KDE_QT_MODERNCODE_DEFINITIONS_LEVEL)
+    set(KDE_INTERNAL_QT_MODERNCODE_DEFINITIONS_LEVEL 
${KDE_INTERNAL_COMPILERSETTINGS_LEVEL})
+else()
+    set(KDE_INTERNAL_QT_MODERNCODE_DEFINITIONS_LEVEL 
${KDE_QT_MODERNCODE_DEFINITIONS_LEVEL})
+endif()
+
+if (KDE_INTERNAL_QT_MODERNCODE_DEFINITIONS_LEVEL VERSION_GREATER_EQUAL 
"5.85.0")
+    add_definitions(
+        -DQT_NO_CAST_TO_ASCII
+        -DQT_NO_CAST_FROM_ASCII
+        -DQT_NO_URL_CAST_FROM_STRING
+        -DQT_NO_CAST_FROM_BYTEARRAY
+        -DQT_USE_QSTRINGBUILDER
+        -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT
+        -DQT_NO_KEYWORDS
+        -DQT_NO_FOREACH
+    )
+    if (NOT WIN32)
+        # Strict iterators can't be used on Windows, they lead to a link error
+        # when application code iterates over a QVector<QPoint> for instance, 
unless
+        # Qt itself was also built with strict iterators.
+        # See example at https://bugreports.qt.io/browse/AUTOSUITE-946
+        add_definitions(-DQT_STRICT_ITERATORS)
+    endif()
+endif()
+
+_kde_set_default_skip_variable_by_min_ecm(KDE_SKIP_PEDANTIC_WARNINGS_SETTINGS 
"5.85.0")
+
+if (NOT KDE_SKIP_PEDANTIC_WARNINGS_SETTINGS)
+    if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES 
"Clang")
+        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic")
+    endif()
+endif()
+
+_kde_set_default_skip_variable_by_min_ecm(KDE_SKIP_NULLPTR_WARNINGS_SETTINGS 
"5.85.0")
+
+if (NOT KDE_SKIP_NULLPTR_WARNINGS_SETTINGS)
+    if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
+        if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "5.0.0")
+            set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} 
-Wzero-as-null-pointer-constant" )
+        endif()
+    endif()
+
+    if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+        if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "5.0.0")
+            set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} 
-Wzero-as-null-pointer-constant" )
+        endif()
+    endif()
+endif()
+
+_kde_set_default_skip_variable_by_min_ecm(KDE_SKIP_MISSING_INCLUDE_DIRS_WARNINGS_SETTINGS
 "5.85.0")
+
+if (NOT KDE_SKIP_MISSING_INCLUDE_DIRS_WARNINGS_SETTINGS)
+    if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
+        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wmissing-include-dirs")
+    endif()
+endif()
 
 ############################################################
 # Hacks
@@ -470,3 +748,10 @@
 
 include("${ECM_MODULE_DIR}/ECMEnableSanitizers.cmake")
 include("${ECM_MODULE_DIR}/ECMCoverageOption.cmake")
+
+############################################################
+# Clean-up
+############################################################
+# unset again, to not leak into caller scope and avoid usage there
+set(KDE_INTERNAL_COMPILERSETTINGS_LEVEL)
+set(KDE_INTERNAL_QT_MODERNCODE_DEFINITIONS_LEVEL)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/extra-cmake-modules-5.84.0/kde-modules/KDEFrameworkCompilerLegacySettings.cmake
 
new/extra-cmake-modules-5.85.0/kde-modules/KDEFrameworkCompilerLegacySettings.cmake
--- 
old/extra-cmake-modules-5.84.0/kde-modules/KDEFrameworkCompilerLegacySettings.cmake
 1970-01-01 01:00:00.000000000 +0100
+++ 
new/extra-cmake-modules-5.85.0/kde-modules/KDEFrameworkCompilerLegacySettings.cmake
 2021-08-06 01:39:58.000000000 +0200
@@ -0,0 +1,81 @@
+# SPDX-FileCopyrightText: 2013 Albert Astals Cid <[email protected]>
+# SPDX-FileCopyrightText: 2007 Matthias Kretz <[email protected]>
+# SPDX-FileCopyrightText: 2006-2007 Laurent Montel <[email protected]>
+# SPDX-FileCopyrightText: 2006-2013 Alex Neundorf <[email protected]>
+#
+# SPDX-License-Identifier: BSD-3-Clause
+
+#[=======================================================================[
+Backward-compatibility support
+------------------------------
+
+For all the non-KF projects which reused the KDEFrameworkCompilerSettings
+module to get more strict settings.
+
+Kept as is, to be removed on next backward-compatibility-breakage occasion.
+#]=======================================================================]
+
+if (NOT CMAKE_CXX_STANDARD)
+    if (ECM_GLOBAL_FIND_VERSION VERSION_GREATER_EQUAL 5.84.0)
+        set(CMAKE_CXX_STANDARD 17)
+        set(CMAKE_CXX_STANDARD_REQUIRED ON)
+        set(CMAKE_CXX_EXTENSIONS OFF)
+    endif()
+endif()
+
+include(KDECompilerSettings NO_POLICY_SCOPE)
+
+add_definitions(-DQT_NO_CAST_TO_ASCII
+                -DQT_NO_CAST_FROM_ASCII
+                -DQT_NO_URL_CAST_FROM_STRING
+                -DQT_NO_CAST_FROM_BYTEARRAY
+                -DQT_USE_QSTRINGBUILDER
+                -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT
+               )
+
+if (NOT WIN32)
+    # Strict iterators can't be used on Windows, they lead to a link error
+    # when application code iterates over a QVector<QPoint> for instance, 
unless
+    # Qt itself was also built with strict iterators.
+    # See example at https://bugreports.qt.io/browse/AUTOSUITE-946
+    add_definitions(-DQT_STRICT_ITERATORS)
+endif()
+
+# Some non-KF projects make (ab)use of KDEFrameworkCompilerSettings currently,
+# let them only hit this as well when bumping their min. ECM requirement to a 
newer version.
+if (ECM_GLOBAL_FIND_VERSION VERSION_GREATER_EQUAL 5.79.0)
+    add_definitions(
+        -DQT_NO_KEYWORDS
+        -DQT_NO_FOREACH
+    )
+else()
+    add_definitions(-DQT_NO_SIGNALS_SLOTS_KEYWORDS)
+endif()
+
+add_definitions(
+    -DQT_DEPRECATED_WARNINGS_SINCE=0x060000
+    -DKF_DEPRECATED_WARNINGS_SINCE=0x060000
+)
+
+if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES 
"Clang")
+   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic")
+endif()
+
+if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
+   if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 5.0.0)
+      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wzero-as-null-pointer-constant" 
)
+   endif()
+endif()
+
+if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+   if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 5.0.0)
+      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wzero-as-null-pointer-constant" 
)
+   endif()
+endif()
+
+if (ECM_GLOBAL_FIND_VERSION VERSION_GREATER_EQUAL 5.80.0)
+    include(KDEClangFormat)
+    # add clang-format target
+    file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h *.c)
+    kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})
+endif ()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/extra-cmake-modules-5.84.0/kde-modules/KDEFrameworkCompilerSettings.cmake 
new/extra-cmake-modules-5.85.0/kde-modules/KDEFrameworkCompilerSettings.cmake
--- 
old/extra-cmake-modules-5.84.0/kde-modules/KDEFrameworkCompilerSettings.cmake   
    2021-07-01 17:05:25.000000000 +0200
+++ 
new/extra-cmake-modules-5.85.0/kde-modules/KDEFrameworkCompilerSettings.cmake   
    2021-08-06 01:39:58.000000000 +0200
@@ -29,67 +29,32 @@
 Since pre-1.0.0.
 #]=======================================================================]
 
-if (NOT CMAKE_CXX_STANDARD)
-    if (ECM_GLOBAL_FIND_VERSION VERSION_GREATER_EQUAL 5.84.0)
-        set(CMAKE_CXX_STANDARD 17)
-        set(CMAKE_CXX_STANDARD_REQUIRED True)
-        set(CMAKE_CXX_EXTENSIONS OFF)
-    endif()
-endif()
+# No-one else should be using this module, at least by the time when requiring
+# ECM 5.85 as minimum, where also settings levels had been introduced for
+# KDECompilerSettings to satisfy the needs for stricter out-of-the-box
+# settings.
+# So making a clear cut here by that condition and providing backward-compat
+# support from a separate file with the old code, avoiding the need for
+# further if()-else() when changing the settings for current KDE Frameworks.
+if (ECM_GLOBAL_FIND_VERSION VERSION_LESS 5.85.0)
+    include(KDEFrameworkCompilerLegacySettings NO_POLICY_SCOPE)
+    return()
+endif()
+
+# set ENABLE_BSYMBOLICFUNCTIONS default to ON
+# TODO: find a nice way to set an option default
+set(ENABLE_BSYMBOLICFUNCTIONS ON)
 
+# Current defaults
 include(KDECompilerSettings NO_POLICY_SCOPE)
 
-add_definitions(-DQT_NO_CAST_TO_ASCII
-                -DQT_NO_CAST_FROM_ASCII
-                -DQT_NO_URL_CAST_FROM_STRING
-                -DQT_NO_CAST_FROM_BYTEARRAY
-                -DQT_USE_QSTRINGBUILDER
-                -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT
-               )
-
-if (NOT WIN32)
-    # Strict iterators can't be used on Windows, they lead to a link error
-    # when application code iterates over a QVector<QPoint> for instance, 
unless
-    # Qt itself was also built with strict iterators.
-    # See example at https://bugreports.qt.io/browse/AUTOSUITE-946
-    add_definitions(-DQT_STRICT_ITERATORS)
-endif()
-
-# Some non-KF projects make (ab)use of KDEFrameworkCompilerSettings currently,
-# let them only hit this as well when bumping their min. ECM requirement to a 
newer version.
-if (ECM_GLOBAL_FIND_VERSION VERSION_GREATER_EQUAL 5.79.0)
-    add_definitions(
-        -DQT_NO_KEYWORDS
-        -DQT_NO_FOREACH
-    )
-else()
-    add_definitions(-DQT_NO_SIGNALS_SLOTS_KEYWORDS)
-endif()
-
+# enable warnings for any deprecated Qt/KF API of current 5 series
 add_definitions(
     -DQT_DEPRECATED_WARNINGS_SINCE=0x060000
     -DKF_DEPRECATED_WARNINGS_SINCE=0x060000
 )
 
-if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES 
"Clang")
-   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic")
-endif()
-
-if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
-   if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 5.0.0)
-      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wzero-as-null-pointer-constant" 
)
-   endif()
-endif()
-
-if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
-   if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 5.0.0)
-      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wzero-as-null-pointer-constant" 
)
-   endif()
-endif()
-
-if (ECM_GLOBAL_FIND_VERSION VERSION_GREATER_EQUAL 5.80.0)
-    include(KDEClangFormat)
-    # add clang-format target
-    file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h *.c)
-    kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})
-endif ()
+# add clang-format target
+include(KDEClangFormat)
+file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h *.c)
+kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/extra-cmake-modules-5.84.0/kde-modules/KDEPackageAppTemplates.cmake 
new/extra-cmake-modules-5.85.0/kde-modules/KDEPackageAppTemplates.cmake
--- old/extra-cmake-modules-5.84.0/kde-modules/KDEPackageAppTemplates.cmake     
2021-07-01 17:05:25.000000000 +0200
+++ new/extra-cmake-modules-5.85.0/kde-modules/KDEPackageAppTemplates.cmake     
2021-08-06 01:39:58.000000000 +0200
@@ -92,6 +92,7 @@
             TIMEOUT 3
             RESULT_VARIABLE _tar_exit
             OUTPUT_VARIABLE _tar_version
+            ERROR_VARIABLE _tar_stderr
         )
         if("${_tar_exit}" EQUAL 0 AND "${_tar_version}" MATCHES "GNU tar")
             set(GNU_TAR_FOUND ON)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/extra-cmake-modules-5.84.0/kde-modules/clang-format.cmake 
new/extra-cmake-modules-5.85.0/kde-modules/clang-format.cmake
--- old/extra-cmake-modules-5.84.0/kde-modules/clang-format.cmake       
2021-07-01 17:05:25.000000000 +0200
+++ new/extra-cmake-modules-5.85.0/kde-modules/clang-format.cmake       
2021-08-06 01:39:58.000000000 +0200
@@ -56,7 +56,7 @@
 # don't move parameters to own lines if they are not all on the same
 BinPackParameters: false
 
-# In case we have an if statement whith multiple lines the operator should be 
at the beginning of the line
+# In case we have an if statement with multiple lines the operator should be 
at the beginning of the line
 # but we do not want to break assignments
 BreakBeforeBinaryOperators: NonAssignment
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/extra-cmake-modules-5.84.0/modules/ECMConfiguredInstall.cmake 
new/extra-cmake-modules-5.85.0/modules/ECMConfiguredInstall.cmake
--- old/extra-cmake-modules-5.84.0/modules/ECMConfiguredInstall.cmake   
2021-07-01 17:05:25.000000000 +0200
+++ new/extra-cmake-modules-5.85.0/modules/ECMConfiguredInstall.cmake   
2021-08-06 01:39:58.000000000 +0200
@@ -8,7 +8,7 @@
 
 Takes a list of files, runs configure_file on each and installs the resultant 
configured files in the given location.
 
-Any suffix of ".in" in the passed file names wil be stripped from the file 
name at the installed location.
+Any suffix of ".in" in the passed file names will be stripped from the file 
name at the installed location.
 
 ::
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/extra-cmake-modules-5.84.0/modules/ECMFindModuleHelpers.cmake 
new/extra-cmake-modules-5.85.0/modules/ECMFindModuleHelpers.cmake
--- old/extra-cmake-modules-5.84.0/modules/ECMFindModuleHelpers.cmake   
2021-07-01 17:05:25.000000000 +0200
+++ new/extra-cmake-modules-5.85.0/modules/ECMFindModuleHelpers.cmake   
2021-08-06 01:39:58.000000000 +0200
@@ -72,7 +72,7 @@
 If SKIP_DEPENDENCY_HANDLING is not set, the INTERFACE_LINK_LIBRARIES property
 of the imported target for <component> will be set to contain the imported
 targets for the components listed in <name>_<component>_component_deps.
-<component>_FOUND will also be set to false if any of the compoments in
+<component>_FOUND will also be set to false if any of the components in
 <name>_<component>_component_deps are not found.  This requires the components
 in <name>_<component>_component_deps to be listed before <component> in the
 COMPONENTS argument.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/extra-cmake-modules-5.84.0/modules/ECMGenerateExportHeader.cmake 
new/extra-cmake-modules-5.85.0/modules/ECMGenerateExportHeader.cmake
--- old/extra-cmake-modules-5.84.0/modules/ECMGenerateExportHeader.cmake        
2021-07-01 17:05:25.000000000 +0200
+++ new/extra-cmake-modules-5.85.0/modules/ECMGenerateExportHeader.cmake        
2021-08-06 01:39:58.000000000 +0200
@@ -534,7 +534,7 @@
     endif()
 
     set_property(TARGET ${target} APPEND PROPERTY AUTOGEN_TARGET_DEPENDS 
"${ARGS_EXPORT_FILE_NAME}")
-    # build with all the API not excluded, ensure all deprecated API is 
visible in the build itselt
+    # build with all the API not excluded, ensure all deprecated API is 
visible in the build itself
     _ecm_geh_generate_hex_number(_hexnumber 
${ARGS_EXCLUDE_DEPRECATED_BEFORE_AND_AT})
     set(_disabling_visibility_definition 
"${_macro_base_name}_DISABLE_DEPRECATED_BEFORE_AND_AT=${_hexnumber}")
     target_compile_definitions(${target} PRIVATE 
"${_disabling_visibility_definition}")
@@ -763,7 +763,7 @@
     if (ARGS_STATIC_DEFINE)
         set(_static_define_args STATIC_DEFINE "${ARGS_STATIC_DEFINE}")
     endif()
-    # for older cmake verions we have to manually append our generated content
+    # for older cmake versions we have to manually append our generated content
     # for newer we use CUSTOM_CONTENT_FROM_VARIABLE
     set(_custom_content_args)
     set(_custom_content_args CUSTOM_CONTENT_FROM_VARIABLE _output)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/extra-cmake-modules-5.84.0/modules/ECMGenerateHeaders.cmake 
new/extra-cmake-modules-5.85.0/modules/ECMGenerateHeaders.cmake
--- old/extra-cmake-modules-5.84.0/modules/ECMGenerateHeaders.cmake     
2021-07-01 17:05:25.000000000 +0200
+++ new/extra-cmake-modules-5.85.0/modules/ECMGenerateHeaders.cmake     
2021-08-06 01:39:58.000000000 +0200
@@ -217,7 +217,7 @@
     endif()
 
     set(${camelcase_forwarding_headers_var} 
${${camelcase_forwarding_headers_var}} PARENT_SCOPE)
-    if (NOT EGH_REQUIRED_HEADERS STREQUAL "")
+    if (EGH_REQUIRED_HEADERS)
         set(${EGH_REQUIRED_HEADERS} ${${EGH_REQUIRED_HEADERS}} 
${_REQUIRED_HEADERS} PARENT_SCOPE)
     endif ()
 endfunction()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/extra-cmake-modules-5.84.0/modules/ECMQchDoxygen.config.in 
new/extra-cmake-modules-5.85.0/modules/ECMQchDoxygen.config.in
--- old/extra-cmake-modules-5.84.0/modules/ECMQchDoxygen.config.in      
2021-07-01 17:05:25.000000000 +0200
+++ new/extra-cmake-modules-5.85.0/modules/ECMQchDoxygen.config.in      
2021-08-06 01:39:58.000000000 +0200
@@ -26,7 +26,7 @@
 STRIP_FROM_PATH        = 
 STRIP_FROM_INC_PATH    = 
 SHORT_NAMES            = NO
-# Do not require explicity @brief command for brief description
+# Do not require explicitly @brief command for brief description
 JAVADOC_AUTOBRIEF      = YES
 MULTILINE_CPP_IS_BRIEF = NO
 INHERIT_DOCS           = YES
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/extra-cmake-modules-5.84.0/modules/ECMQtDeclareLoggingCategory.cmake 
new/extra-cmake-modules-5.85.0/modules/ECMQtDeclareLoggingCategory.cmake
--- old/extra-cmake-modules-5.84.0/modules/ECMQtDeclareLoggingCategory.cmake    
2021-07-01 17:05:25.000000000 +0200
+++ new/extra-cmake-modules-5.85.0/modules/ECMQtDeclareLoggingCategory.cmake    
2021-08-06 01:39:58.000000000 +0200
@@ -118,6 +118,10 @@
 ``COMPONENT`` specifies the installation component name with which the install
 rules for the generated file are associated.
 
+Since 5.85.0 this is a no-op when building for Android, as KDebugSettings is
+not available on that platform and the logging category files therefore just
+bloat the APK.
+
 Example usage:
 
 .. code-block:: cmake
@@ -306,6 +310,11 @@
 
 
 function(ecm_qt_install_logging_categories)
+    # on Android there is no KDebugSettings, and thus the logging categories 
files make no sense in APKs
+    if (ANDROID)
+        return()
+    endif()
+
     set(options SORT)
     set(oneValueArgs FILE EXPORT DESTINATION COMPONENT)
     set(multiValueArgs)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/extra-cmake-modules-5.84.0/modules/ECMSetupVersion.cmake 
new/extra-cmake-modules-5.85.0/modules/ECMSetupVersion.cmake
--- old/extra-cmake-modules-5.84.0/modules/ECMSetupVersion.cmake        
2021-07-01 17:05:25.000000000 +0200
+++ new/extra-cmake-modules-5.85.0/modules/ECMSetupVersion.cmake        
2021-08-06 01:39:58.000000000 +0200
@@ -132,9 +132,10 @@
 
     if(use_project_version)
         set(_version "${PROJECT_VERSION}")
-        set(_major "${PROJECT_VERSION_MAJOR}")
-        set(_minor "${PROJECT_VERSION_MINOR}")
-        set(_patch "${PROJECT_VERSION_PATCH}")
+        # drop leading 0 from values to avoid bogus octal values in c/C++ e.g. 
with 08 or 09
+        string(REGEX REPLACE "0*([0-9]+)" "\\1" _major 
"${PROJECT_VERSION_MAJOR}")
+        string(REGEX REPLACE "0*([0-9]+)" "\\1" _minor 
"${PROJECT_VERSION_MINOR}")
+        string(REGEX REPLACE "0*([0-9]+)" "\\1" _patch 
"${PROJECT_VERSION_PATCH}")
     else()
         string(REGEX REPLACE "^0*([0-9]+)\\.[0-9]+\\.[0-9]+.*" "\\1" _major 
"${_version}")
         string(REGEX REPLACE "^[0-9]+\\.0*([0-9]+)\\.[0-9]+.*" "\\1" _minor 
"${_version}")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/extra-cmake-modules-5.84.0/modules/check-outbound-license.py 
new/extra-cmake-modules-5.85.0/modules/check-outbound-license.py
--- old/extra-cmake-modules-5.84.0/modules/check-outbound-license.py    
2021-07-01 17:05:25.000000000 +0200
+++ new/extra-cmake-modules-5.85.0/modules/check-outbound-license.py    
2021-08-06 01:39:58.000000000 +0200
@@ -128,6 +128,8 @@
             licenses = []
     f.close()
 
+    spdxDictionary[fileName] = licenses
+
     # read file with list of test files
     f = open(args.input, "r")
     testfiles = f.readlines()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/extra-cmake-modules-5.84.0/tests/ECMCheckOutboundLicenseTest/CMakeLists.txt 
new/extra-cmake-modules-5.85.0/tests/ECMCheckOutboundLicenseTest/CMakeLists.txt
--- 
old/extra-cmake-modules-5.84.0/tests/ECMCheckOutboundLicenseTest/CMakeLists.txt 
    2021-07-01 17:05:25.000000000 +0200
+++ 
new/extra-cmake-modules-5.85.0/tests/ECMCheckOutboundLicenseTest/CMakeLists.txt 
    2021-08-06 01:39:58.000000000 +0200
@@ -15,7 +15,7 @@
     ${CMAKE_CURRENT_SOURCE_DIR}/testdata/LGPL-2.1-or-later.cpp
 )
 
-# check test case generation wihout TEST_NAME statement
+# check test case generation without TEST_NAME statement
 ecm_check_outbound_license(
 LICENSES LGPL-2.1-only
 FILES
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/extra-cmake-modules-5.84.0/tests/ECMGenerateExportHeaderTest/CMakeLists.txt 
new/extra-cmake-modules-5.85.0/tests/ECMGenerateExportHeaderTest/CMakeLists.txt
--- 
old/extra-cmake-modules-5.84.0/tests/ECMGenerateExportHeaderTest/CMakeLists.txt 
    2021-07-01 17:05:25.000000000 +0200
+++ 
new/extra-cmake-modules-5.85.0/tests/ECMGenerateExportHeaderTest/CMakeLists.txt 
    2021-08-06 01:39:58.000000000 +0200
@@ -83,7 +83,7 @@
 math(EXPR _last_index ${library_versions_count}-1)
 
 # test generating the library with different EXCLUDE_DEPRECATED_BEFORE_AND_AT 
values
-# als install the generated libraries together incl. exported cmake targets, 
for use in tests below
+# also install the generated libraries together incl. exported cmake targets, 
for use in tests below
 # TODO: wariant with DEPRECATED_BASE_VERSION
 foreach(_group_arg "" "WITH_GROUP")
     foreach(_index RANGE ${_last_index})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/extra-cmake-modules-5.84.0/tests/ECMSetupVersionTest/CMakeLists.txt 
new/extra-cmake-modules-5.85.0/tests/ECMSetupVersionTest/CMakeLists.txt
--- old/extra-cmake-modules-5.84.0/tests/ECMSetupVersionTest/CMakeLists.txt     
2021-07-01 17:05:25.000000000 +0200
+++ new/extra-cmake-modules-5.85.0/tests/ECMSetupVersionTest/CMakeLists.txt     
2021-08-06 01:39:58.000000000 +0200
@@ -35,6 +35,7 @@
     add_version_test(new_project_header check_header)
     add_version_test(new_project_header_abspath check_header)
     add_version_test(new_project_header_prefix check_header)
+    add_version_test(new_project_header_zero_prefixed_version check_header)
     add_version_test(new_project_simple dummy)
     add_version_test(new_project_simple_no_version_string_vars dummy)
     add_version_test(new_project_simple_prefix dummy)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/extra-cmake-modules-5.84.0/tests/ECMSetupVersionTest/new_project_header_zero_prefixed_version/CMakeLists.txt
 
new/extra-cmake-modules-5.85.0/tests/ECMSetupVersionTest/new_project_header_zero_prefixed_version/CMakeLists.txt
--- 
old/extra-cmake-modules-5.84.0/tests/ECMSetupVersionTest/new_project_header_zero_prefixed_version/CMakeLists.txt
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/extra-cmake-modules-5.85.0/tests/ECMSetupVersionTest/new_project_header_zero_prefixed_version/CMakeLists.txt
    2021-08-06 01:39:58.000000000 +0200
@@ -0,0 +1,17 @@
+cmake_minimum_required(VERSION 3.16.0)
+
+project(new_project_header_zero_prefixed_version VERSION "08.09.07")
+
+set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules)
+include(ECMSetupVersion)
+
+ecm_setup_version(PROJECT
+    VERSION_HEADER "new_project_header_zero_prefixed_version.h"
+)
+
+include(../version_helpers.cmake)
+# NB: name comes from project() command
+standard_version_var_checks(new_project_header_zero_prefixed_version 
"08.09.07")
+
+add_executable(check_header main.c)
+target_include_directories(check_header PRIVATE "${CMAKE_CURRENT_BINARY_DIR}")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/extra-cmake-modules-5.84.0/tests/ECMSetupVersionTest/new_project_header_zero_prefixed_version/main.c
 
new/extra-cmake-modules-5.85.0/tests/ECMSetupVersionTest/new_project_header_zero_prefixed_version/main.c
--- 
old/extra-cmake-modules-5.84.0/tests/ECMSetupVersionTest/new_project_header_zero_prefixed_version/main.c
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/extra-cmake-modules-5.85.0/tests/ECMSetupVersionTest/new_project_header_zero_prefixed_version/main.c
    2021-08-06 01:39:58.000000000 +0200
@@ -0,0 +1,24 @@
+#include <new_project_header_zero_prefixed_version.h>
+#include <string.h>
+#include <stdio.h>
+
+#define intcheck(macro,val) \
+    if (macro != val) { \
+        printf(#macro " was %d instead of %d", macro, val); \
+        return 1; \
+    }
+#define strcheck(macro,val) \
+    if (strcmp(macro,val) != 0) { \
+        printf(#macro " was %s instead of %s", macro, val); \
+        return 1; \
+    }
+
+int main()
+{
+    intcheck(new_project_header_zero_prefixed_version_VERSION_MAJOR,8)
+    intcheck(new_project_header_zero_prefixed_version_VERSION_MINOR,9)
+    intcheck(new_project_header_zero_prefixed_version_VERSION_PATCH,7)
+    intcheck(new_project_header_zero_prefixed_version_VERSION,((8 << 16) + (9 
<< 8) + 7))
+    
strcheck(new_project_header_zero_prefixed_version_VERSION_STRING,"08.09.07")
+    return 0;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/extra-cmake-modules-5.84.0/toolchain/generate-fastlane-metadata.py 
new/extra-cmake-modules-5.85.0/toolchain/generate-fastlane-metadata.py
--- old/extra-cmake-modules-5.84.0/toolchain/generate-fastlane-metadata.py      
2021-07-01 17:05:25.000000000 +0200
+++ new/extra-cmake-modules-5.85.0/toolchain/generate-fastlane-metadata.py      
2021-08-06 01:39:58.000000000 +0200
@@ -147,7 +147,7 @@
 
         # Now write out file contents!
         with open(path + '/' + filenameToPopulate, 'w') as f:
-            f.write(text)
+            f.write(text.strip()) # trim whitespaces, to avoid spurious 
differences after a Google Play roundtrip
 
 # Create the summary appname.yml file used by F-Droid to summarise this 
particular entry in the repository
 # see https://f-droid.org/en/docs/Build_Metadata_Reference/
@@ -166,7 +166,7 @@
     else:
         info['Categories']  = ['KDE']
 
-    # Update the general sumamry as well
+    # Update the general summary as well
     info['Summary'] = data['summary'][None]
 
     # Check to see if we have a Homepage...

Reply via email to