From 0423908e05c158ebe48ac9dc38e2eacb03033616 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Tue, 24 Sep 2024 13:10:43 +0200 Subject: [PATCH] cmake: Skip warnings-are-errors when using Xcode generator Xcode enables additional warnings that we are not warning-clean from. It also sets C++ hardening explicitly, which clashes with our own hardening define, causing a warning. Attempts at solving this via generator-specific genex or propagating interface properties on PlatformCommonInternal did not succeed. https://gitlab.kitware.com/cmake/cmake/-/issues/26321 Pick-to: 6.8 Change-Id: I5ae4eb3006fcd8152441b6470879123076de8e58 Reviewed-by: Alexey Edelev --- cmake/QtFlagHandlingHelpers.cmake | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cmake/QtFlagHandlingHelpers.cmake b/cmake/QtFlagHandlingHelpers.cmake index f8bd95a92e7..c51dc27c5f9 100644 --- a/cmake/QtFlagHandlingHelpers.cmake +++ b/cmake/QtFlagHandlingHelpers.cmake @@ -318,7 +318,10 @@ endfunction() # Sets the default warnings behavior according to the WARNINGS_ARE_ERRORS and # QT_REPO_NOT_WARNINGS_CLEAN flags. function(qt_internal_default_warnings_are_errors target) - if(WARNINGS_ARE_ERRORS AND NOT QT_REPO_NOT_WARNINGS_CLEAN) + if(WARNINGS_ARE_ERRORS AND NOT QT_REPO_NOT_WARNINGS_CLEAN + # Xcode enables additional warnings on top of the ones we + # enable, and we are not warning clean in that context. + AND NOT "${CMAKE_GENERATOR}" STREQUAL "Xcode") qt_internal_set_skip_warnings_are_errors("${target}" FALSE) else() qt_internal_set_skip_warnings_are_errors("${target}" TRUE)