From fdb9a5141446ed8aa767d88a921c24221b0704ea Mon Sep 17 00:00:00 2001 From: Alexandru Croitor Date: Thu, 20 Feb 2025 15:03:00 +0100 Subject: [PATCH] CMake: Fix full rebuilds when using MSVC and reconfiguring the build When reconfiguring an MSVC -release build with 'cmake .' after a full build, instead of being a no-op, it rebuilt everything. This happened because of CMAKE_CXX_FLAGS_RELEASE being accidentally modified on each reconfiguration, resulting in extra whitespace being added to the compiler command line rules. Specifically, this was because we always added '-O2 -Ob3 ' as a string to the compiler flags, but due to stripping, always tried to remove only '-O2 -Ob3' (no trailing white space) when removing the optimizations flags, resulting in an extra white space for each run. Remove the trailing white space after '-Ob3 '. Amends 2fb134f3fe8fdeb1f36c346cff3b09a2b7a095a7 Pick-to: 6.8 6.9 Change-Id: I46eb4c3b769ae6b063fe62df05c0cb92f13bda30 Reviewed-by: Alexey Edelev --- cmake/QtCompilerOptimization.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/QtCompilerOptimization.cmake b/cmake/QtCompilerOptimization.cmake index bc370247412..aa45730af09 100644 --- a/cmake/QtCompilerOptimization.cmake +++ b/cmake/QtCompilerOptimization.cmake @@ -105,7 +105,7 @@ if(MSVC) if(NOT CLANG) # -Ob3 was introduced in Visual Studio 2019 version 16.0 # However clang-cl can't recognize it. - string(APPEND QT_CFLAGS_OPTIMIZE " -Ob3 ") + string(APPEND QT_CFLAGS_OPTIMIZE " -Ob3") endif() set(QT_CFLAGS_OPTIMIZE_DEBUG "-Od") set(QT_CFLAGS_OPTIMIZE_SIZE "-O1")