From 2059d294eb525fe23d1a7681a1563efb513fe31e Mon Sep 17 00:00:00 2001 From: Alexey Edelev Date: Wed, 18 Aug 2021 19:26:08 +0200 Subject: [PATCH] Remove unnecessary version of module from _MODULE_DEPENDENCIES __MODULE_DEPENDENCIES variable in the Dependnecies.cmake should only contain the list of targets that module depends on, but not versions. Version of the first module appears in the list because of the regression introduced in 425ff34aa10a02524f2d52f544dc00b539ef9a26 Amends 425ff34aa10a02524f2d52f544dc00b539ef9a26 Pick-to: 6.2 Change-Id: Iaa42120af6bac742bdf0f8d389bd8e5bdef9c1d1 Reviewed-by: Alexandru Croitor --- cmake/QtPostProcessHelpers.cmake | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/cmake/QtPostProcessHelpers.cmake b/cmake/QtPostProcessHelpers.cmake index 70d47c28d4f..912a0744220 100644 --- a/cmake/QtPostProcessHelpers.cmake +++ b/cmake/QtPostProcessHelpers.cmake @@ -226,7 +226,16 @@ function(qt_internal_create_module_depends_file target) foreach(dep ${target_deps}) if(NOT dep MATCHES ".+Private$" AND dep MATCHES "${INSTALL_CMAKE_NAMESPACE}(.+)") - list(APPEND qt_module_dependencies "${CMAKE_MATCH_1}") + # target_deps cointains elements that are a pair of target name and version, + # e.g. 'Core\;6.2' + # After the extracting from the target_deps list, the element becomes a list itself, + # because it loses escape symbol before the semicolon, so ${CMAKE_MATCH_1} is the list: + # Core;6.2. + # We need to store only the target name in the qt_module_dependencies variable. + list(GET CMAKE_MATCH_1 0 dep_name) + if(dep_name) + list(APPEND qt_module_dependencies "${dep_name}") + endif() endif() endforeach() list(REMOVE_DUPLICATES qt_module_dependencies)