From a8dc7b7a1adc229f010151a789fb959d48a02ee7 Mon Sep 17 00:00:00 2001 From: Alexey Edelev Date: Fri, 11 Jun 2021 13:12:50 +0200 Subject: [PATCH] Replace flags with spaces when removing them Removing flags based on REGEX may include spaces, so flags might be glued. Replace flags with spaces to keep at least one space for the described case. Fixes: QTBUG-94400 Change-Id: Ice268da36174ef5cf4398d2aee8fcd4731336316 Reviewed-by: Joerg Bornemann (cherry picked from commit 523ee5577a3fb1801dc765511c2c76753c10a72e) Reviewed-by: Qt Cherry-pick Bot --- cmake/QtFlagHandlingHelpers.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/QtFlagHandlingHelpers.cmake b/cmake/QtFlagHandlingHelpers.cmake index 4e9d71d6cf9..01734ea7e1b 100644 --- a/cmake/QtFlagHandlingHelpers.cmake +++ b/cmake/QtFlagHandlingHelpers.cmake @@ -425,7 +425,7 @@ function(qt_internal_remove_flags_impl flag_var_name flag_values IN_CACHE) # cache variable with FORCE will overwrite the non-cache variable in this # function scope, but we need to use the original value before that change. foreach(flag_value IN LISTS flag_values) - string(${replace_type} "${flag_value}" "" ${flag_var_name} "${${flag_var_name}}") + string(${replace_type} "${flag_value}" " " ${flag_var_name} "${${flag_var_name}}") endforeach() string(STRIP "${${flag_var_name}}" ${flag_var_name}) set(${flag_var_name} "${${flag_var_name}}" PARENT_SCOPE) @@ -437,7 +437,7 @@ function(qt_internal_remove_flags_impl flag_var_name flag_values IN_CACHE) # Work exclusively on cache variable value only. set(mod_flags $CACHE{${flag_var_name}}) foreach(flag_value IN LISTS flag_values) - string(${replace_type} "${flag_value}" "" mod_flags "${mod_flags}") + string(${replace_type} "${flag_value}" " " mod_flags "${mod_flags}") endforeach() string(STRIP "${mod_flags}" mod_flags) get_property(help_text CACHE ${flag_var_name} PROPERTY HELPSTRING)