Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kf6-extra-cmake-modules for openSUSE:Factory checked in at 2024-12-15 12:34:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kf6-extra-cmake-modules (Old) and /work/SRC/openSUSE:Factory/.kf6-extra-cmake-modules.new.29675 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kf6-extra-cmake-modules" Sun Dec 15 12:34:37 2024 rev:10 rq:1230827 version:6.9.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kf6-extra-cmake-modules/kf6-extra-cmake-modules.changes 2024-11-09 20:56:12.581026162 +0100 +++ /work/SRC/openSUSE:Factory/.kf6-extra-cmake-modules.new.29675/kf6-extra-cmake-modules.changes 2024-12-15 12:38:04.904441131 +0100 @@ -1,0 +2,20 @@ +Sun Dec 8 10:09:05 UTC 2024 - Christophe Marin <christo...@krop.fr> + +- Update to 6.9.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/frameworks/6/6.9.0 +- Changes since 6.8.0: + * Align multi-language catalog loading with KI18n + * EGPF: Handle case where INTERFACE_INCLUDE_DIRECTORIES is empty (kde#496781) + * KDEClangFormat: Avoid spammy warnings with cmake >= 3.31.0 (kde#496537) + * Consider all QLocale::uiLanguages for QM catalog loading + * ECMGeneratePythonBindings: Build without system isolation + * ECMGeneratePythonBindings: Remove broken RPATH settings + * Include Qt's translations in what we bundle on Android + * Fix FindLibMount without pkgconfig + * Don't use KDEInstallDirs6 for the new ECMGeneratePkgConfigFile test + * Fix reproducible build issue with ECMGeneratedHeaders + * Update version to 6.9.0 + +------------------------------------------------------------------- Old: ---- extra-cmake-modules-6.8.0.tar.xz extra-cmake-modules-6.8.0.tar.xz.sig New: ---- extra-cmake-modules-6.9.0.tar.xz extra-cmake-modules-6.9.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kf6-extra-cmake-modules.spec ++++++ --- /var/tmp/diff_new_pack.dfQTTF/_old 2024-12-15 12:38:05.424462786 +0100 +++ /var/tmp/diff_new_pack.dfQTTF/_new 2024-12-15 12:38:05.424462786 +0100 @@ -23,14 +23,14 @@ %define rname extra-cmake-modules -# Full KF6 version (e.g. 6.8.0) +# Full KF6 version (e.g. 6.9.0) %{!?_kf6_version: %global _kf6_version %{version}} # Last major and minor KF6 version (e.g. 6.0) %{!?_kf6_bugfix_version: %define _kf6_bugfix_version %(echo %{_kf6_version} | awk -F. '{print $1"."$2}')} %bcond_without doc %bcond_without released Name: kf6-extra-cmake-modules%{?pkg_suffix} -Version: 6.8.0 +Version: 6.9.0 Release: 0 Summary: CMake modules License: BSD-3-Clause ++++++ extra-cmake-modules-6.8.0.tar.xz -> extra-cmake-modules-6.9.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-6.8.0/CMakeLists.txt new/extra-cmake-modules-6.9.0/CMakeLists.txt --- old/extra-cmake-modules-6.8.0/CMakeLists.txt 2024-11-02 16:44:52.000000000 +0100 +++ new/extra-cmake-modules-6.9.0/CMakeLists.txt 2024-12-06 12:49:55.000000000 +0100 @@ -11,7 +11,7 @@ # Preliminary setup # -set(VERSION "6.8.0") # handled by release scripts +set(VERSION "6.9.0") # handled by release scripts project(ECM VERSION "${VERSION}" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-6.8.0/find-modules/FindLibMount.cmake new/extra-cmake-modules-6.9.0/find-modules/FindLibMount.cmake --- old/extra-cmake-modules-6.8.0/find-modules/FindLibMount.cmake 2024-11-02 16:44:52.000000000 +0100 +++ new/extra-cmake-modules-6.9.0/find-modules/FindLibMount.cmake 2024-12-06 12:49:55.000000000 +0100 @@ -32,13 +32,13 @@ find_package(PkgConfig QUIET) pkg_check_modules(PC_LIBMOUNT QUIET IMPORTED_TARGET mount) -find_path(LibMount_INCLUDE_DIRS NAMES libmount/libmount.h HINTS ${PC_LIBMOUNT_INCLUDE_DIRS}) +find_path(LibMount_INCLUDE_DIRS NAMES libmount.h PATH_SUFFIXES libmount HINTS ${PC_LIBMOUNT_INCLUDE_DIRS}) find_library(LibMount_LIBRARIES NAMES mount HINTS ${PC_LIBMOUNT_LIBRARY_DIRS}) set(LibMount_VERSION ${PC_LIBMOUNT_VERSION}) if(LibMount_INCLUDE_DIRS AND NOT LibMount_VERSION) - file(READ "${LibMount_INCLUDE_DIRS}/libmount/libmount.h" _LibMount_header_contents) + file(READ "${LibMount_INCLUDE_DIRS}/libmount.h" _LibMount_header_contents) string(REGEX MATCHALL "#define[ \t]+LIBMOUNT_VERSION[ \t]+\"*[0-9.]+" _LibMount_version_line "${_LibMount_header_contents}") unset(_LibMount_header_contents) string(REGEX REPLACE ".*LIBMOUNT_VERSION[ \t]+\"*([0-9.]+)\"*" "\\1" _version "${_LibMount_version_line}") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-6.8.0/kde-modules/KDEClangFormat.cmake new/extra-cmake-modules-6.9.0/kde-modules/KDEClangFormat.cmake --- old/extra-cmake-modules-6.8.0/kde-modules/KDEClangFormat.cmake 2024-11-02 16:44:52.000000000 +0100 +++ new/extra-cmake-modules-6.9.0/kde-modules/KDEClangFormat.cmake 2024-12-06 12:49:55.000000000 +0100 @@ -94,11 +94,13 @@ string(REPLACE "%" "_" unique_target_name ${unique_target_name}) # some imvalid cmake target names string(REPLACE "{" "_" unique_target_name ${unique_target_name}) string(REPLACE "}" "_" unique_target_name ${unique_target_name}) - add_custom_target(${unique_target_name}) + add_custom_target(${unique_target_name} + DEPENDS ${_full_file_path} + ) add_custom_command(TARGET ${unique_target_name} + POST_BUILD COMMAND ${KDE_CLANG_FORMAT_EXECUTABLE} -style=file -i ${_full_file_path} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - DEPENDS ${_full_file_path} ) add_dependencies(clang-format ${unique_target_name}) endif() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-6.8.0/modules/ECMGenerateHeaders.cmake new/extra-cmake-modules-6.9.0/modules/ECMGenerateHeaders.cmake --- old/extra-cmake-modules-6.8.0/modules/ECMGenerateHeaders.cmake 2024-11-02 16:44:52.000000000 +0100 +++ new/extra-cmake-modules-6.9.0/modules/ECMGenerateHeaders.cmake 2024-12-06 12:49:55.000000000 +0100 @@ -196,7 +196,8 @@ endif() set(REGULAR_HEADER_NAME ${EGH_OUTPUT_DIR}/${originalprefix}${originalclassname}.${EGH_HEADER_EXTENSION}) if (NOT EXISTS ${REGULAR_HEADER_NAME}) - file(WRITE ${REGULAR_HEADER_NAME} "#include \"${_actualheader}\"\n") + file(RELATIVE_PATH _actualheader_relative "${EGH_OUTPUT_DIR}/${originalprefix}" "${_actualheader}") + file(WRITE ${REGULAR_HEADER_NAME} "#include \"${_actualheader_relative}\"\n") endif() endif() endforeach() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-6.8.0/modules/ECMGeneratePkgConfigFile.cmake new/extra-cmake-modules-6.9.0/modules/ECMGeneratePkgConfigFile.cmake --- old/extra-cmake-modules-6.8.0/modules/ECMGeneratePkgConfigFile.cmake 2024-11-02 16:44:52.000000000 +0100 +++ new/extra-cmake-modules-6.9.0/modules/ECMGeneratePkgConfigFile.cmake 2024-12-06 12:49:55.000000000 +0100 @@ -168,26 +168,29 @@ if(TARGET ${EGPF_LIB_NAME}) # Generator expression cannot be evaluated when creating the pkgconfig file, we need to convert the public include directories # into something pkgconfig can understand - get_target_property(_EGPF_TARGET_INCLUDE_DIRS ${EGPF_LIB_NAME} INTERFACE_INCLUDE_DIRECTORIES) + get_target_property(__EGPF_TARGET_INCLUDE_DIRS ${EGPF_LIB_NAME} INTERFACE_INCLUDE_DIRECTORIES) - # INTERFACE_INCLUDE_DIRS can contain semicolon separated locations. Since CMake still doesn't accept different separators, - # We need to convert _EGPF_TARGET_INCLUDE_DIRS to a string, extract the locations and convert it back to a list - string(REPLACE ";" "|" _EGPF_TARGET_INCLUDE_DIRS "${_EGPF_TARGET_INCLUDE_DIRS}") - list(TRANSFORM _EGPF_TARGET_INCLUDE_DIRS REPLACE "\\$<INSTALL_INTERFACE:([^,>]+)>" "\\1") - string(REPLACE "|" ";" _EGPF_TARGET_INCLUDE_DIRS "${_EGPF_TARGET_INCLUDE_DIRS}") + if(__EGPF_TARGET_INCLUDE_DIRS) + set(_EGPF_TARGET_INCLUDE_DIRS "${__EGPF_TARGET_INCLUDE_DIRS}") + # INTERFACE_INCLUDE_DIRS can contain semicolon separated locations. Since CMake still doesn't accept different separators, + # We need to convert _EGPF_TARGET_INCLUDE_DIRS to a string, extract the locations and convert it back to a list + string(REPLACE ";" "|" _EGPF_TARGET_INCLUDE_DIRS "${_EGPF_TARGET_INCLUDE_DIRS}") + list(TRANSFORM _EGPF_TARGET_INCLUDE_DIRS REPLACE "\\$<INSTALL_INTERFACE:([^,>]+)>" "\\1") + string(REPLACE "|" ";" _EGPF_TARGET_INCLUDE_DIRS "${_EGPF_TARGET_INCLUDE_DIRS}") - # Remove any other generator expression. - string(GENEX_STRIP "${_EGPF_TARGET_INCLUDE_DIRS}" _EGPF_TARGET_INCLUDE_DIRS) + # Remove any other generator expression. + string(GENEX_STRIP "${_EGPF_TARGET_INCLUDE_DIRS}" _EGPF_TARGET_INCLUDE_DIRS) - # Remove possible duplicate entries a first time - list(REMOVE_DUPLICATES _EGPF_TARGET_INCLUDE_DIRS) + # Remove possible duplicate entries a first time + list(REMOVE_DUPLICATES _EGPF_TARGET_INCLUDE_DIRS) - foreach(EGPF_INCLUDE_DIR IN LISTS _EGPF_TARGET_INCLUDE_DIRS) - # if the path is not absolute (that would be the case for KDEInstallDirs variables), append \${prefix} before each entry - if(NOT IS_ABSOLUTE "${EGPF_INCLUDE_DIR}") - list(TRANSFORM _EGPF_TARGET_INCLUDE_DIRS REPLACE "${EGPF_INCLUDE_DIR}" "\${prefix}/${EGPF_INCLUDE_DIR}") - endif() - endforeach() + foreach(EGPF_INCLUDE_DIR IN LISTS _EGPF_TARGET_INCLUDE_DIRS) + # if the path is not absolute (that would be the case for KDEInstallDirs variables), append \${prefix} before each entry + if(NOT IS_ABSOLUTE "${EGPF_INCLUDE_DIR}") + list(TRANSFORM _EGPF_TARGET_INCLUDE_DIRS REPLACE "${EGPF_INCLUDE_DIR}" "\${prefix}/${EGPF_INCLUDE_DIR}") + endif() + endforeach() + endif() endif() if(IS_ABSOLUTE "${EGPF_INCLUDE_INSTALL_DIR}") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-6.8.0/modules/ECMGeneratePythonBindings.cmake new/extra-cmake-modules-6.9.0/modules/ECMGeneratePythonBindings.cmake --- old/extra-cmake-modules-6.8.0/modules/ECMGeneratePythonBindings.cmake 2024-11-02 16:44:52.000000000 +0100 +++ new/extra-cmake-modules-6.9.0/modules/ECMGeneratePythonBindings.cmake 2024-12-06 12:49:55.000000000 +0100 @@ -82,12 +82,6 @@ list(APPEND PB_DEPENDENCIES PySide6::pyside6) list(APPEND PB_DEPENDENCIES Shiboken6::libshiboken) - # Enable rpaths so that the built shared libraries find their dependencies. - set(CMAKE_SKIP_BUILD_RPATH FALSE) - set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) - set(CMAKE_INSTALL_RPATH ${SHIBOKEN_PYTHON_MODULE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) - set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) - # Get the relevant include dirs, to pass them on to shiboken. set(INCLUDES "") @@ -172,7 +166,7 @@ add_custom_command( TARGET ${PB_PACKAGE_NAME} POST_BUILD - COMMAND Python3::Interpreter -m build --wheel + COMMAND Python3::Interpreter -m build --wheel --no-isolation WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${PB_PACKAGE_NAME}" COMMENT "Building Python Wheel" ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-6.8.0/modules/ECMQmLoader.cpp.in new/extra-cmake-modules-6.9.0/modules/ECMQmLoader.cpp.in --- old/extra-cmake-modules-6.8.0/modules/ECMQmLoader.cpp.in 2024-11-02 16:44:52.000000000 +0100 +++ new/extra-cmake-modules-6.9.0/modules/ECMQmLoader.cpp.in 2024-12-06 12:49:55.000000000 +0100 @@ -99,15 +99,19 @@ // translation for the current locale to overload it. loadTranslation(QStringLiteral("en")); - const QLocale locale = getSystemLocale(); - if (locale.name() != QStringLiteral("en")) { - if (!loadTranslation(locale.name())) { - if (!loadTranslation(locale.bcp47Name())) { - const int i = locale.name().indexOf(QLatin1Char('_')); - if (i > 0) { - loadTranslation(locale.name().left(i)); - } - } + auto langs = getSystemLocale().uiLanguages(); + for (auto it = langs.begin(); it != langs.end(); ++it) { + (*it).replace(QLatin1Char('-'), QLatin1Char('_')); + const auto idx = (*it).indexOf(QLatin1Char('_')); + if (idx > 0) { + const QString genericLang = (*it).left(idx); + it = langs.insert(++it, genericLang); + } + } + langs.removeDuplicates(); + for (const auto &lang : langs) { + if (lang == QLatin1String("en") || loadTranslation(lang)) { + break; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-6.8.0/tests/ECMGeneratePkgConfigFile/CMakeLists.txt new/extra-cmake-modules-6.9.0/tests/ECMGeneratePkgConfigFile/CMakeLists.txt --- old/extra-cmake-modules-6.8.0/tests/ECMGeneratePkgConfigFile/CMakeLists.txt 2024-11-02 16:44:52.000000000 +0100 +++ new/extra-cmake-modules-6.9.0/tests/ECMGeneratePkgConfigFile/CMakeLists.txt 2024-12-06 12:49:55.000000000 +0100 @@ -6,3 +6,4 @@ COMMAND ${CMAKE_COMMAND} -P "${CMAKE_CURRENT_BINARY_DIR}/run_test.cmake") add_subdirectory(test_imported_targets) +add_subdirectory(test_no_interface_include_dirs) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-6.8.0/tests/ECMGeneratePkgConfigFile/test_imported_targets/CMakeLists.txt new/extra-cmake-modules-6.9.0/tests/ECMGeneratePkgConfigFile/test_imported_targets/CMakeLists.txt --- old/extra-cmake-modules-6.8.0/tests/ECMGeneratePkgConfigFile/test_imported_targets/CMakeLists.txt 2024-11-02 16:44:52.000000000 +0100 +++ new/extra-cmake-modules-6.9.0/tests/ECMGeneratePkgConfigFile/test_imported_targets/CMakeLists.txt 2024-12-06 12:49:55.000000000 +0100 @@ -8,7 +8,9 @@ include(ECMGeneratePkgConfigFile) include(ECMSetupVersion) -include(KDEInstallDirs6) + +# KDEInstallDirs can't be used +set(EGPF_KDE_INSTALL_INCLUDEDIR_KF "include/KF6") set(InputFile "${CMAKE_CURRENT_SOURCE_DIR}/EGPF_imported_include_dirs_control.pc") @@ -26,14 +28,14 @@ EXPORT_NAME "EGPF_lib" ) -target_include_directories(EGPF_lib INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/Attica;${KDE_INSTALL_INCLUDEDIR_KF}/EGPF_lib;${KDE_INSTALL_INCLUDEDIR_KF}/other_dir>" +target_include_directories(EGPF_lib INTERFACE "$<INSTALL_INTERFACE:${EGPF_KDE_INSTALL_INCLUDEDIR_KF}/Attica;${EGPF_KDE_INSTALL_INCLUDEDIR_KF}/EGPF_lib;${EGPF_KDE_INSTALL_INCLUDEDIR_KF}/other_dir>" PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../:${CMAKE_CURRENT_BINARY_DIR}/..>" ) ecm_generate_pkgconfig_file(BASE_NAME EGPF_lib DESCRIPTION "Testing additional include dirs in Cflags" - INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF}/Attica/ + INCLUDE_INSTALL_DIR ${EGPF_KDE_INSTALL_INCLUDEDIR_KF}/Attica/ FILENAME_VAR OutputFile ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-6.8.0/tests/ECMGeneratePkgConfigFile/test_no_interface_include_dirs/CMakeLists.txt new/extra-cmake-modules-6.9.0/tests/ECMGeneratePkgConfigFile/test_no_interface_include_dirs/CMakeLists.txt --- old/extra-cmake-modules-6.8.0/tests/ECMGeneratePkgConfigFile/test_no_interface_include_dirs/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/extra-cmake-modules-6.9.0/tests/ECMGeneratePkgConfigFile/test_no_interface_include_dirs/CMakeLists.txt 2024-12-06 12:49:55.000000000 +0100 @@ -0,0 +1,39 @@ +cmake_minimum_required(VERSION 3.16) +project(ECMGeneratePkgConfigFile_no_interface_include_directories VERSION 0.1) + +set(ECM_MODULE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../modules") +set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../../modules;${CMAKE_CURRENT_SOURCE_DIR}/../../../kde-modules") + +enable_language(CXX) + +include(ECMGeneratePkgConfigFile) +include(ECMSetupVersion) + +# KDEInstallDirs can't be used +set(EGPF_KDE_INSTALL_INCLUDEDIR_KF "include/KF6") + +set(InputFile "${CMAKE_CURRENT_SOURCE_DIR}/EGPF_no_interface_include_directories.pc") + +set(CMAKE_INSTALL_PREFIX "/usr") +set(CMAKE_INSTALL_LIBDIR "lib") + +ecm_setup_version(0.1 VARIABLE_PREFIX EGPF_lib_without_interface + SOVERSION 0) + +add_library(EGPF_lib_without_interface) +target_sources(EGPF_lib_without_interface PRIVATE main.cpp) +set_target_properties(EGPF_lib_without_interface PROPERTIES + VERSION 0.1 + SOVERSION 0 +) + +ecm_generate_pkgconfig_file(BASE_NAME EGPF_lib_without_interface + DESCRIPTION "Testing generated pkgconfig file without interface_include_directories" + INCLUDE_INSTALL_DIR ${EGPF_KDE_INSTALL_INCLUDEDIR_KF} + FILENAME_VAR OutputFile + ) + +add_test( + NAME ECMGeneratePkgConfigFileTest.no_interface_include_directories + COMMAND ${CMAKE_COMMAND} -E compare_files --ignore-eol "${InputFile}" "${OutputFile}" + ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-6.8.0/tests/ECMGeneratePkgConfigFile/test_no_interface_include_dirs/EGPF_no_interface_include_directories.pc new/extra-cmake-modules-6.9.0/tests/ECMGeneratePkgConfigFile/test_no_interface_include_dirs/EGPF_no_interface_include_directories.pc --- old/extra-cmake-modules-6.8.0/tests/ECMGeneratePkgConfigFile/test_no_interface_include_dirs/EGPF_no_interface_include_directories.pc 1970-01-01 01:00:00.000000000 +0100 +++ new/extra-cmake-modules-6.9.0/tests/ECMGeneratePkgConfigFile/test_no_interface_include_dirs/EGPF_no_interface_include_directories.pc 2024-12-06 12:49:55.000000000 +0100 @@ -0,0 +1,13 @@ + +prefix=/usr +exec_prefix=${prefix} +libdir=${prefix}/lib +includedir=${prefix}/include/KF6 + +Name: EGPF_lib_without_interface +Description: Testing generated pkgconfig file without interface_include_directories +URL: https://www.kde.org/ +Version: 0.1 +Libs: -L${prefix}/lib -lEGPF_lib_without_interface +Cflags: -I${prefix}/include/KF6 +Requires: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-6.8.0/tests/ECMGeneratePkgConfigFile/test_no_interface_include_dirs/main.cpp new/extra-cmake-modules-6.9.0/tests/ECMGeneratePkgConfigFile/test_no_interface_include_dirs/main.cpp --- old/extra-cmake-modules-6.8.0/tests/ECMGeneratePkgConfigFile/test_no_interface_include_dirs/main.cpp 1970-01-01 01:00:00.000000000 +0100 +++ new/extra-cmake-modules-6.9.0/tests/ECMGeneratePkgConfigFile/test_no_interface_include_dirs/main.cpp 2024-12-06 12:49:55.000000000 +0100 @@ -0,0 +1,4 @@ +int main(int, char**) +{ + return 0; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-6.8.0/tests/ECMPoQmToolsTest/check.cmake.in new/extra-cmake-modules-6.9.0/tests/ECMPoQmToolsTest/check.cmake.in --- old/extra-cmake-modules-6.8.0/tests/ECMPoQmToolsTest/check.cmake.in 2024-11-02 16:44:52.000000000 +0100 +++ new/extra-cmake-modules-6.9.0/tests/ECMPoQmToolsTest/check.cmake.in 2024-12-06 12:49:55.000000000 +0100 @@ -87,6 +87,21 @@ endforeach() endfunction() + function(check_translations_multilang name exec catalog_name langs expected_lang) + execute_process( + COMMAND "${CMAKE_COMMAND}" -E env "XDG_DATA_DIRS=${ACTUAL_TREE}/share" + LANGUAGE=${langs} "${exec}" + OUTPUT_VARIABLE output + ) + string(STRIP "${output}" stripped_output) + if(NOT stripped_output STREQUAL exp_output_${catalog_name}_${expected_lang}) + message(WARNING "${name}[${langs}] output was \"${stripped_output}\", but expected \"${exp_output_${catalog_name}_${expected_lang}}\"") + set(fail ON PARENT_SCOPE) + else() + message(STATUS "${name}[${langs}] output was \"${stripped_output}\", as expected") + endif() + endfunction() + check_translations(TR_TEST "${TR_TEST_EXEC}" catalog) check_translations(TR_TEST_TARGET "${TR_TEST_TARGET_EXEC}" catalog) check_translations(TR_TEST_2 "${TR_TEST_2_EXEC}" catalog2) @@ -99,6 +114,9 @@ if (TR_THREAD_TEST_2) check_translations(TR_THREAD_TEST_2 "${TR_THREAD_TEST_2_EXEC}" catalog2) endif() + + check_translations_multilang(TR_TEST "${TR_TEST_EXEC}" catalog "de_AT:fr_FR" "de") + check_translations_multilang(TR_TEST "${TR_TEST_EXEC}" catalog "en_GB:de_DE" "en") endif() if (fail) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-6.8.0/toolchain/specifydependencies.cmake new/extra-cmake-modules-6.9.0/toolchain/specifydependencies.cmake --- old/extra-cmake-modules-6.8.0/toolchain/specifydependencies.cmake 2024-11-02 16:44:52.000000000 +0100 +++ new/extra-cmake-modules-6.9.0/toolchain/specifydependencies.cmake 2024-12-06 12:49:55.000000000 +0100 @@ -54,7 +54,7 @@ endif() set(extraplugins) -foreach(folder "plugins" "share" "lib/qml") #now we check for folders with extra stuff +foreach(folder "plugins" "share" "lib/qml" "translations") #now we check for folders with extra stuff set(plugin "${EXPORT_DIR}/${folder}") if(EXISTS "${plugin}") list(APPEND extraplugins "${plugin}")