commit extra-cmake-modules for openSUSE:Factory
Hello community, here is the log from the commit of package extra-cmake-modules for openSUSE:Factory checked in at 2017-06-01 16:17:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/extra-cmake-modules (Old) and /work/SRC/openSUSE:Factory/.extra-cmake-modules.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "extra-cmake-modules" Thu Jun 1 16:17:15 2017 rev:41 rq:495015 version:5.34.0 Changes: -------- --- /work/SRC/openSUSE:Factory/extra-cmake-modules/extra-cmake-modules.changes 2017-04-30 21:17:35.662026824 +0200 +++ /work/SRC/openSUSE:Factory/.extra-cmake-modules.new/extra-cmake-modules.changes 2017-06-01 16:18:39.286243663 +0200 @@ -1,0 +2,36 @@ +Mon May 15 13:53:14 CEST 2017 - fabian@ritter-vogt.de + +- Update to 5.34.0 + * New feature release + * For more details please see: + * https://www.kde.org/announcements/kde-frameworks-5.34.0.php +- Changes since 5.33.0: + * Fix test when compiling from a tarball + * Sanitizers: Don't use GCC-like flags for e.g. MSVC + * adapt to fetchpo changes and use vars for target directories to dry code + * fix documentation, ecm_install_po_files_as_qm generates .qm, not .mo + * use correct variable for fetch-translations injection + * KDEPackageAppTemplates: improve API dox notation of function signature + * KDEPackageAppTemplates: mark %{dest} as deprecated + * KDEPackageAppTemplates: fix note for %{PROJECTDIRNAME} + * KDEPackageAppTemplates: remove note of placeholder %{src}, never supported + * Fix minor CMake warning (CMP0054) + * KDECompilerSettings: Pass -Wvla & -Wdate-time + * Don't include tests together with modules + * Allow test to work with older versions of qmlplugindump + * Don't enable the test by default + * Support older qmlplugindump versions + * Introduce ecm_generate_qmltypes + * Add a test for _repository_name() a function added for fetch-translations + * Fix compilation under AppleClang (kde#377933) + * Allow projects to include the file twice + * Move the repository name recognition into a function + * Fix rx that matches project names out of the git uri + * Introduce fetch-translations build command + * Use -Wno-gnu-zero-variadic-macro-arguments more + * FindPyModGen: Also search for an unversioned clang++ +- Remove patches, now upstream: + * 0001-FindPyModGen-Also-search-for-an-unversioned-clang.patch + * 0002-Import-Find-Clang-LLVM-from-KDevelop-for-Python-bind.patch + +------------------------------------------------------------------- Old: ---- 0001-FindPyModGen-Also-search-for-an-unversioned-clang.patch 0002-Import-Find-Clang-LLVM-from-KDevelop-for-Python-bind.patch extra-cmake-modules-5.33.0.tar.xz New: ---- extra-cmake-modules-5.34.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ extra-cmake-modules.spec ++++++ --- /var/tmp/diff_new_pack.md6zIB/_old 2017-06-01 16:18:40.782032736 +0200 +++ /var/tmp/diff_new_pack.md6zIB/_new 2017-06-01 16:18:40.786032172 +0200 @@ -16,19 +16,15 @@ # -%define _tar_path 5.33 +%define _tar_path 5.34 Name: extra-cmake-modules Summary: CMake modules License: BSD-3-Clause Group: Development/Tools/Other Url: https://projects.kde.org/projects/kdesupport/extra-cmake-modules -Version: 5.33.0 +Version: 5.34.0 Release: 0 Source: http://download.kde.org/stable/frameworks/%{_tar_path}/%{name}-%{version}.tar.xz -# PATCH-FIX-UPSTREAM: Search for unversioned clang -Patch0: 0001-FindPyModGen-Also-search-for-an-unversioned-clang.patch -# PATCH-FIX-UPSTREAM: Import FindClangLLVM from KDevelop -Patch1: 0002-Import-Find-Clang-LLVM-from-KDevelop-for-Python-bind.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: cmake >= 3.0 BuildRequires: gcc-c++ @@ -62,8 +58,6 @@ %prep %setup -q -%patch0 -p1 -%patch1 -p1 %build %cmake_kf5 -d build ++++++ extra-cmake-modules-5.33.0.tar.xz -> extra-cmake-modules-5.34.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-5.33.0/CMakeLists.txt new/extra-cmake-modules-5.34.0/CMakeLists.txt --- old/extra-cmake-modules-5.33.0/CMakeLists.txt 2017-03-19 09:53:58.000000000 +0100 +++ new/extra-cmake-modules-5.34.0/CMakeLists.txt 2017-05-07 20:18:13.000000000 +0200 @@ -32,7 +32,7 @@ # Preliminary setup # -set(VERSION "5.33.0") # handled by release scripts +set(VERSION "5.34.0") # handled by release scripts if (POLICY CMP0048) cmake_policy(SET CMP0048 NEW) @@ -114,6 +114,9 @@ file(GLOB installModuleFiles ${CMAKE_SOURCE_DIR}/modules/*[^~]) install(FILES ${installModuleFiles} DESTINATION ${MODULES_INSTALL_DIR}) +file(GLOB installTestModuleFiles ${CMAKE_SOURCE_DIR}/test-modules/*[^~]) +install(FILES ${installTestModuleFiles} DESTINATION ${SHARE_INSTALL_DIR}/ECM/test-modules) + file(GLOB installKdeModuleFiles ${CMAKE_SOURCE_DIR}/kde-modules/*[^~]) install(FILES ${installKdeModuleFiles} DESTINATION ${KDE_MODULES_INSTALL_DIR}) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-5.33.0/find-modules/FindPythonModuleGeneration.cmake new/extra-cmake-modules-5.34.0/find-modules/FindPythonModuleGeneration.cmake --- old/extra-cmake-modules-5.33.0/find-modules/FindPythonModuleGeneration.cmake 2017-03-19 09:53:58.000000000 +0100 +++ new/extra-cmake-modules-5.34.0/find-modules/FindPythonModuleGeneration.cmake 2017-05-07 20:18:13.000000000 +0200 @@ -251,7 +251,7 @@ set(GPB_MODULE_DIR ${CMAKE_CURRENT_LIST_DIR}) function(_compute_implicit_include_dirs) - find_program(_GBP_CLANG_CXX_DRIVER_PATH clang++-${_GPB_CLANG_SUFFIX}) + find_program(_GBP_CLANG_CXX_DRIVER_PATH NAMES clang++-${_GPB_CLANG_SUFFIX} clang++) if (NOT _GBP_CLANG_CXX_DRIVER_PATH) message(FATAL_ERROR "Failed to find clang driver corresponding to ${libclang_LIBRARY}") endif() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-5.33.0/kde-modules/KDECMakeSettings.cmake new/extra-cmake-modules-5.34.0/kde-modules/KDECMakeSettings.cmake --- old/extra-cmake-modules-5.33.0/kde-modules/KDECMakeSettings.cmake 2017-03-19 09:53:58.000000000 +0100 +++ new/extra-cmake-modules-5.34.0/kde-modules/KDECMakeSettings.cmake 2017-05-07 20:18:13.000000000 +0200 @@ -71,6 +71,19 @@ # - Uninstall target functionality since 1.7.0. # - ``APPLE_FORCE_X11`` option since 5.14.0 (detecting X11 was previously the default behavior) # - ``APPLE_SUPPRESS_X11_WARNING`` option since 5.14.0 +# +# Translations +# ~~~~~~~~~~~~ +# A fetch-translations target will be set up that will download translations +# for projects using l10n.kde.org. +# +# ``KDE_L10N_BRANCH`` will be responsible for choosing which l10n branch to use +# for the translations. +# +# ``KDE_L10N_AUTO_TRANSLATIONS`` (OFF by default) will indicate whether translations +# should be downloaded when building the project. +# +# Since 5.34.0 #============================================================================= # Copyright 2014 Alex Merry <alex.merry@kde.org> @@ -269,3 +282,63 @@ endif() ################################################################### +# Download translations + +function(_repository_name reponame dir) + execute_process(COMMAND git config --get remote.origin.url + OUTPUT_VARIABLE giturl + RESULT_VARIABLE exitCode + WORKING_DIRECTORY "${dir}") + + if(exitCode EQUAL 0) + string(REGEX MATCHALL ".+[:\\/]([-A-Za-z\\d]+)(.git)?\\s*" "" ${giturl}) + set(${reponame} ${CMAKE_MATCH_1}) + endif() + + if(NOT ${reponame}) + set(${reponame} ${CMAKE_PROJECT_NAME}) + endif() + set(${reponame} ${${reponame}} PARENT_SCOPE) +endfunction() + +if(NOT EXISTS ${CMAKE_SOURCE_DIR}/po AND NOT TARGET fetch-translations) + option(KDE_L10N_AUTO_TRANSLATIONS "Automatically 'make fetch-translations`" OFF) + set(KDE_L10N_BRANCH "trunk" CACHE STRING "Branch from l10n.kde.org to fetch from: trunk | stable | lts | trunk_kde4 | stable_kde4") + + if(KDE_L10N_AUTO_TRANSLATIONS) + set(_EXTRA_ARGS "ALL") + else() + set(_EXTRA_ARGS) + endif() + + set(_reponame "") + _repository_name(_reponame "${CMAKE_SOURCE_DIR}") + + add_custom_command( + OUTPUT "${CMAKE_BINARY_DIR}/releaseme" + COMMAND git clone --depth 1 "https://anongit.kde.org/releaseme.git" + COMMENT "Fetching releaseme scripts to download translations..." + ) + + set(_l10n_po_dir "${CMAKE_BINARY_DIR}/po") + set(_l10n_poqm_dir "${CMAKE_BINARY_DIR}/poqm") + + if(CMAKE_VERSION VERSION_GREATER 3.2) + set(extra BYPRODUCTS ${_l10n_po_dir} ${_l10n_poqm_dir}) + endif() + + add_custom_target(fetch-translations ${_EXTRA_ARGS} + COMMENT "Downloading translations for ${_reponame} branch ${KDE_L10N_BRANCH}..." + COMMAND git -C "${CMAKE_BINARY_DIR}/releaseme" pull + COMMAND cmake -E remove_directory ${_l10n_po_dir} + COMMAND cmake -E remove_directory ${_l10n_poqm_dir} + COMMAND ruby "${CMAKE_BINARY_DIR}/releaseme/fetchpo.rb" + --origin ${KDE_L10N_BRANCH} + --project "${_reponame}" + --output-dir "${_l10n_po_dir}" + --output-poqm-dir "${_l10n_poqm_dir}" + "${CMAKE_CURRENT_SOURCE_DIR}" + ${extra} + DEPENDS "${CMAKE_BINARY_DIR}/releaseme" + ) +endif() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-5.33.0/kde-modules/KDECompilerSettings.cmake new/extra-cmake-modules-5.34.0/kde-modules/KDECompilerSettings.cmake --- old/extra-cmake-modules-5.33.0/kde-modules/KDECompilerSettings.cmake 2017-03-19 09:53:58.000000000 +0100 +++ new/extra-cmake-modules-5.34.0/kde-modules/KDECompilerSettings.cmake 2017-05-07 20:18:13.000000000 +0200 @@ -314,7 +314,7 @@ target_compile_options(${target} ${mode} "$<$<CXX_COMPILER_ID:Intel>:-fexceptions>") endif() target_compile_options(${target} ${mode} - "$<$<OR:$<CXX_COMPILER_ID:GNU>,$<CXX_COMPILER_ID:Clang>>:-fexceptions>") + "$<$<OR:$<CXX_COMPILER_ID:GNU>,$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>>:-fexceptions>") endfunction() function(KDE_ENABLE_EXCEPTIONS) @@ -353,6 +353,12 @@ endif() set(_KDE_GCC_COMMON_WARNING_FLAGS "-Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef") +if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") + # -Wgnu-zero-variadic-macro-arguments (part of -pedantic) is triggered by every qCDebug() call and therefore results + # in a lot of noise. This warning is only notifying us that clang is emulating the GCC behaviour + # instead of the exact standard wording so we can safely ignore it + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-gnu-zero-variadic-macro-arguments") +endif() if(CMAKE_C_COMPILER_ID STREQUAL "GNU" OR CMAKE_C_COMPILER_ID MATCHES "Clang") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_KDE_GCC_COMMON_WARNING_FLAGS} -Wmissing-format-attribute -Wwrite-strings") # Make some warnings errors @@ -363,6 +369,16 @@ # Make some warnings errors set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror=return-type") endif() +if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR + (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.5)) + # -Wvla: use of variable-length arrays (an extension to C++) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wvla") +endif() +if ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0) OR + (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.5)) + # -Wdate-time: warn if we use __DATE__ or __TIME__ (we want to be able to reproduce the exact same binary) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wdate-time") +endif() # -w1 turns on warnings and errors # FIXME: someone needs to have a closer look at the Intel compiler options diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-5.33.0/kde-modules/KDEFrameworkCompilerSettings.cmake new/extra-cmake-modules-5.34.0/kde-modules/KDEFrameworkCompilerSettings.cmake --- old/extra-cmake-modules-5.33.0/kde-modules/KDEFrameworkCompilerSettings.cmake 2017-03-19 09:53:58.000000000 +0100 +++ new/extra-cmake-modules-5.34.0/kde-modules/KDEFrameworkCompilerSettings.cmake 2017-05-07 20:18:13.000000000 +0200 @@ -61,14 +61,12 @@ add_definitions(-DQT_STRICT_ITERATORS) endif() -if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") +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 (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "5.0.0") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wsuggest-override" ) endif() -elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") - # -Wgnu-zero-variadic-macro-arguments is triggered by every qCDebug() call and therefore results - # in a lot of noise. This warning is only notifying us that clang is emulating the GCC behaviour - # instead of the exact standard wording so we can safely ignore it - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wno-gnu-zero-variadic-macro-arguments") endif() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-5.33.0/kde-modules/KDEPackageAppTemplates.cmake new/extra-cmake-modules-5.34.0/kde-modules/KDEPackageAppTemplates.cmake --- old/extra-cmake-modules-5.33.0/kde-modules/KDEPackageAppTemplates.cmake 2017-03-19 09:53:58.000000000 +0100 +++ new/extra-cmake-modules-5.34.0/kde-modules/KDEPackageAppTemplates.cmake 2017-05-07 20:18:13.000000000 +0200 @@ -11,7 +11,10 @@ # # This module provides the following function: # -# kde_package_app_templates( TEMPLATES template1 [template2] [...] INSTALL_DIR directory) +# :: +# +# kde_package_app_templates(TEMPLATES <template> [<template> [...]] +# INSTALL_DIR <directory>) # # INSTALL_DIR is the directory to install the template package to. # In most cases you will want to use the variable KDE_INSTALL_KTEMPLATESDIR @@ -26,7 +29,7 @@ # the text files replaced by the following placeholders when needed: # # ``%{PROJECTDIRNAME}`` -# %{APPNAMELC}-%{VERSION} for KAppTemplate +# name of generated project base folder ex: %{APPNAMELC} for KAppTemplate # ``%{APPNAME}`` # project name as entered by user ex: MyKApp # ``%{APPNAMELC}`` @@ -46,10 +49,11 @@ # ``%{VERSION}`` # project version ex: 0.1 # +# Deprecated: +# # ``%{dest}`` -# used in .kdevtemplate -# ``%{src}`` -# used in .kdevtemplate +# path of generated project base folder, used in .kdevtemplate with the ShowFilesAfterGeneration entry +# KDevelop >= 5.1.1 supports relative paths with that entry, making this placeholder obsolete # # Multiple templates can be passed at once. # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-5.33.0/modules/ECMEnableSanitizers.cmake new/extra-cmake-modules-5.34.0/modules/ECMEnableSanitizers.cmake --- old/extra-cmake-modules-5.33.0/modules/ECMEnableSanitizers.cmake 2017-03-19 09:53:58.000000000 +0100 +++ new/extra-cmake-modules-5.34.0/modules/ECMEnableSanitizers.cmake 2017-05-07 20:18:13.000000000 +0200 @@ -145,22 +145,29 @@ endif () endmacro () -# for each element of the ECM_ENABLE_SANITIZERS list -foreach ( CUR_SANITIZER ${ECM_ENABLE_SANITIZERS} ) - # lowercase filter - string(TOLOWER ${CUR_SANITIZER} CUR_SANITIZER) - # check option and enable appropriate flags - enable_sanitizer_flags ( ${CUR_SANITIZER} ) - # TODO: GCC will not link pthread library if enabled ASan - if(CMAKE_C_COMPILER_ID MATCHES "Clang") - set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${XSAN_COMPILE_FLAGS}" ) +if (ECM_ENABLE_SANITIZERS) + if (CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") + # for each element of the ECM_ENABLE_SANITIZERS list + foreach ( CUR_SANITIZER ${ECM_ENABLE_SANITIZERS} ) + # lowercase filter + string(TOLOWER ${CUR_SANITIZER} CUR_SANITIZER) + # check option and enable appropriate flags + enable_sanitizer_flags ( ${CUR_SANITIZER} ) + # TODO: GCC will not link pthread library if enabled ASan + if(CMAKE_C_COMPILER_ID MATCHES "Clang") + set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${XSAN_COMPILE_FLAGS}" ) + endif() + set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${XSAN_COMPILE_FLAGS}" ) + if(CMAKE_CXX_COMPILER_ID MATCHES "GNU") + link_libraries(${XSAN_LINKER_FLAGS}) + endif() + if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + string(REPLACE "-Wl,--no-undefined" "" CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}") + string(REPLACE "-Wl,--no-undefined" "" CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS}") + endif () + endforeach() + else() + message(STATUS "Tried to enable sanitizers (-DECM_ENABLE_SANITIZERS=${ECM_ENABLE_SANITIZERS}), \ +but compiler (${CMAKE_CXX_COMPILER_ID}) does not have sanitizer support") endif() - set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${XSAN_COMPILE_FLAGS}" ) - if(CMAKE_CXX_COMPILER_ID MATCHES "GNU") - link_libraries(${XSAN_LINKER_FLAGS}) - endif() - if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") - string(REPLACE "-Wl,--no-undefined" "" CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}") - string(REPLACE "-Wl,--no-undefined" "" CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS}") - endif () -endforeach () +endif() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-5.33.0/modules/ECMGenerateQmlTypes.cmake new/extra-cmake-modules-5.34.0/modules/ECMGenerateQmlTypes.cmake --- old/extra-cmake-modules-5.33.0/modules/ECMGenerateQmlTypes.cmake 1970-01-01 01:00:00.000000000 +0100 +++ new/extra-cmake-modules-5.34.0/modules/ECMGenerateQmlTypes.cmake 2017-05-07 20:18:13.000000000 +0200 @@ -0,0 +1,82 @@ +#.rst: +# ECMGenerateQmlTypes +# ----------- +# +# Generates plugins.qmltypes files for QML plugins. +# +# :: +# +# ecm_generate_qmltypes(<org.kde.pluginname> 1.3 +# DESTINATION <${KDE_INSTALL_QMLDIR}/org/kde/pluginname>) +# +# Makes it possible to generate plugins.qmltypes files for the QML plugins that +# our project offers. These files offer introspection upon our plugin and are +# useful for integrating with IDE language support of our plugin. It offers +# information about the objects its methods and their argument types. +# +# The developer will be in charge of making sure that these files are up to date. +# The plugin.qmltypes file will sit in the source directory. This function will +# include the code that installs the file in the right place and a small unit +# test named qmltypes-pluginname-version that makes sure that it doesn't need updating. +# +# +# Since 5.33.0 + +#============================================================================= +# Copyright 2017 Aleix Pol Gonzalez <aleixpol@kde.org> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +include(CMakeParseArguments) +function(ecm_generate_qmltypes) + if (NOT TARGET qmltypes) + add_custom_target(qmltypes) + endif () + + set(options) + set(oneValueArgs DESTINATION TEST_ENABLED) + cmake_parse_arguments(ARG "${options}" "${oneValueArgs}" "" ${ARGN}) + + set(targetname "qmltypes-${ARG_UNPARSED_ARGUMENTS}") + string(REPLACE ";" - targetname "${targetname}") + + set(generatedFile ${CMAKE_CURRENT_SOURCE_DIR}/plugins.qmltypes) + add_custom_target(${targetname} + BYPRODUCTS ${generatedFile} + COMMAND qmlplugindump -nonrelocatable ${ARG_UNPARSED_ARGUMENTS} ${KDE_INSTALL_QMLDIR} > ${generatedFile} + ) + add_dependencies(qmltypes ${targetname}) + if (EXISTS ${generatedFile}) + install(FILES ${generatedFile} DESTINATION "${ARG_DESTINATION}") + endif() + + string(REPLACE ";" / processedArgs "${ARG_UNPARSED_ARGUMENTS}") + + # sometimes qmlplugindump output isn't reproducible, we better have it opt in for now + if(ARG_TEST_ENABLED) + add_test(NAME ${targetname} COMMAND + cmake -DARG_UNPARSED_ARGUMENTS=${processedArgs} -DKDE_INSTALL_QMLDIR=${KDE_INSTALL_QMLDIR} -DINPUT=${generatedFile} -P ${ECM_MODULE_DIR}/../test-modules/test_execute_and_compare.cmake + ) + endif() +endfunction() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-5.33.0/modules/ECMPoQmTools.cmake new/extra-cmake-modules-5.34.0/modules/ECMPoQmTools.cmake --- old/extra-cmake-modules-5.33.0/modules/ECMPoQmTools.cmake 2017-03-19 09:53:58.000000000 +0100 +++ new/extra-cmake-modules-5.34.0/modules/ECMPoQmTools.cmake 2017-05-07 20:18:13.000000000 +0200 @@ -60,7 +60,7 @@ # fr/ # mylib.po # -# ``ecm_install_po_files_as_qm(po)`` compiles ``mylib.po`` into ``mylib.mo`` and +# ``ecm_install_po_files_as_qm(po)`` compiles ``mylib.po`` into ``mylib.qm`` and # installs it in ``<install_destination>/fr/LC_MESSAGES``. # ``<install_destination>`` defaults to ``${LOCALE_INSTALL_DIR}`` if defined, # otherwise it uses ``${CMAKE_INSTALL_LOCALEDIR}`` if that is defined, otherwise diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-5.33.0/test-modules/test_execute_and_compare.cmake new/extra-cmake-modules-5.34.0/test-modules/test_execute_and_compare.cmake --- old/extra-cmake-modules-5.33.0/test-modules/test_execute_and_compare.cmake 1970-01-01 01:00:00.000000000 +0100 +++ new/extra-cmake-modules-5.34.0/test-modules/test_execute_and_compare.cmake 2017-05-07 20:18:13.000000000 +0200 @@ -0,0 +1,11 @@ +string(REPLACE / ";" processedArgs "${ARG_UNPARSED_ARGUMENTS}") + +execute_process(COMMAND qmlplugindump -nonrelocatable ${processedArgs} ${KDE_INSTALL_QMLDIR} > ${CMAKE_CURRENT_SOURCE_DIR}/plugins.qmltypes RESULT_VARIABLE code) +if(code) + message(FATAL_ERROR "Could not call qmlplugindump successfully. Exited with code ${code}") +endif() + +execute_process(COMMAND diff -I "//*" ${INPUT} ${CMAKE_CURRENT_SOURCE_DIR}/plugins.qmltypes RESULT_VARIABLE code OUTPUT_VARIABLE out) +if(code) + message(FATAL_ERROR "both plugin dumps differ:\n${out}") +endif() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-5.33.0/tests/CMakeLists.txt new/extra-cmake-modules-5.34.0/tests/CMakeLists.txt --- old/extra-cmake-modules-5.33.0/tests/CMakeLists.txt 2017-03-19 09:53:58.000000000 +0100 +++ new/extra-cmake-modules-5.34.0/tests/CMakeLists.txt 2017-05-07 20:18:13.000000000 +0200 @@ -112,6 +112,7 @@ add_test_macro(ExecuteCoreModules dummy) add_test_macro(ExecuteKDEModules dummy) +add_test_macro(KDEFetchTranslations dummy) add_test_macro(KDEInstallDirsTest.relative_or_absolute dummy) add_test_variant(KDEInstallDirsTest.vars_in_sync_no_args diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-5.33.0/tests/KDEFetchTranslations/CMakeLists.txt new/extra-cmake-modules-5.34.0/tests/KDEFetchTranslations/CMakeLists.txt --- old/extra-cmake-modules-5.33.0/tests/KDEFetchTranslations/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/extra-cmake-modules-5.34.0/tests/KDEFetchTranslations/CMakeLists.txt 2017-05-07 20:18:13.000000000 +0200 @@ -0,0 +1,27 @@ +project(extra-cmake-modules) +cmake_minimum_required(VERSION 2.8.12) + +# order is important (install dirs before cmake settings)! +set(all_kde_modules + KDEInstallDirs + KDECMakeSettings +) + +set(ECM_KDE_MODULE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../kde-modules) +set(ECM_MODULE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../modules) +set(CMAKE_MODULE_PATH "${ECM_KDE_MODULE_DIR}" "${ECM_MODULE_DIR}") + +foreach(module ${all_kde_modules}) + message(STATUS "module: ${module}") + include("${module}") +endforeach() + +_repository_name(name "${CMAKE_CURRENT_SOURCE_DIR}/../../") +if (NOT ${name} STREQUAL "extra-cmake-modules") + message(FATAL_ERROR "Wrong repository name: ${name}, should be 'extra-cmake-modules'") +endif() +add_executable(dummy ../ExecuteKDEModules/main.c) + +if(NOT TARGET fetch-translations) + message(FATAL_ERROR "should have a fetch-translations target") +endif()
participants (1)
-
root@hilbert.suse.de