From ff391b5c17309ca8b7bbbaef9028d8b31b847683 Mon Sep 17 00:00:00 2001 From: Alexey Edelev Date: Tue, 2 Jul 2024 18:04:14 +0200 Subject: [PATCH] Manage the _DEFINITIONS transformation accurately Ensure that -D is not prepended to the special sequences like generator expressions. Pick-to: 6.5 6.7 6.8 Change-Id: I295c289e3d188780d697ff8c62d8c8fc2df6522c Reviewed-by: Alexandru Croitor --- cmake/QtModuleConfig.cmake.in | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/cmake/QtModuleConfig.cmake.in b/cmake/QtModuleConfig.cmake.in index 06a7daad71e..004e6a88515 100644 --- a/cmake/QtModuleConfig.cmake.in +++ b/cmake/QtModuleConfig.cmake.in @@ -58,7 +58,16 @@ if (NOT QT_NO_CREATE_TARGETS AND @INSTALL_CMAKE_NAMESPACE@@target@_FOUND) if(NOT @QT_CMAKE_EXPORT_NAMESPACE@@target@_DEFINITIONS) set(@QT_CMAKE_EXPORT_NAMESPACE@@target@_DEFINITIONS "") else() - list(TRANSFORM @QT_CMAKE_EXPORT_NAMESPACE@@target@_DEFINITIONS PREPEND "-D") + set(updated_defs "") + foreach(def IN LISTS @QT_CMAKE_EXPORT_NAMESPACE@@target@_DEFINITIONS) + if(def MATCHES "^[A-Za-z_]") + list(APPEND updated_defs "-D${def}") + else() + list(APPEND updated_defs "${def}") + endif() + endforeach() + set(@QT_CMAKE_EXPORT_NAMESPACE@@target@_DEFINITIONS "${updated_defs}") + unset(updated_defs) endif() get_target_property(@QT_CMAKE_EXPORT_NAMESPACE@@target@_COMPILE_DEFINITIONS