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...