diff options
author | Alexey Edelev <alexey.edelev@qt.io> | 2021-01-20 19:34:26 +0100 |
---|---|---|
committer | Alexey Edelev <alexey.edelev@qt.io> | 2021-01-22 10:27:17 +0100 |
commit | e425a2a4b8dd469920eede57e9c4094523aa9ad7 (patch) | |
tree | 5f1d0d5f67eb95b23012a1b05c5c5536a5107848 /cmake/QtFlagHandlingHelpers.cmake | |
parent | df0e98d4080f50de7ecacdc4cae079ab31280481 (diff) |
Tune compilation flags to reduce libraries size
Add '_WINDLL' definition for the MSVC compilers family.
Check the 'FEATURE_optimize_size' value before replacing compiler flags
in the qt_internal_add_optimize_full_flags function. This is required,
because Qt::Core and Qt::Gui modules lost their ability to shrink,
when selecting the appropriate build type or features.
Fixes: QTBUG-89952
Change-Id: I982c25ea84e4793b4006ead0ee516b3f3eb2a054
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'cmake/QtFlagHandlingHelpers.cmake')
-rw-r--r-- | cmake/QtFlagHandlingHelpers.cmake | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/cmake/QtFlagHandlingHelpers.cmake b/cmake/QtFlagHandlingHelpers.cmake index 51491da46e..a18d3ac89a 100644 --- a/cmake/QtFlagHandlingHelpers.cmake +++ b/cmake/QtFlagHandlingHelpers.cmake @@ -593,13 +593,22 @@ function(qt_internal_add_optimize_full_flags) "" ${ARGN}) + # Assume that FEATURE_optimize_full has higher priority. But if FEATURE_optimize_full is OFF, + # flags are set by FEATURE_optimize_size should remain unchanged. + if(QT_FEATURE_optimize_size AND NOT QT_FEATURE_optimize_full) + return() + endif() + set(args "") if(arg_IN_CACHE) list(APPEND args IN_CACHE) endif() qt_internal_get_enabled_languages_for_flag_manipulation(enabled_languages) - set(configs RELEASE RELWITHDEBINFO MINSIZEREL) + set(configs RELEASE RELWITHDEBINFO) + if(QT_FEATURE_optimize_full) # Assume that FEATURE_optimize_full has higher priority. + list(APPEND configs MINSIZEREL) + endif() qt_internal_remove_known_optimization_flags(${args} CONFIGS ${configs}) |