summaryrefslogtreecommitdiffstats
path: root/cmake
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@qt.io>2020-08-21 08:40:54 +0200
committerJoerg Bornemann <joerg.bornemann@qt.io>2020-08-23 11:04:42 +0200
commit48cf015906e34ea0f8a388fd3a0e53ec082546f2 (patch)
tree44160036aa348732dadadd7a865b56d4c6df6e6d /cmake
parentc8fda317ea12914ee51c20fe8bd256454cdb6cfe (diff)
CMake: Implement configure -optimize-size
This configure switch controls the feature 'optimize_size'. This isn't merely a mapping to CMAKE_BUILD_TYPE=MinSizeRel, because we potentially want to combine -optimize-size with -force-debug-info, which maps to CMAKE_BUILD_CONFIG=RelWithDebInfo. Task-number: QTBUG-85373 Change-Id: I1a9343ebc54816f52e90e9d33ea3df4c99b1ec9f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'cmake')
-rw-r--r--cmake/QtFlagHandlingHelpers.cmake5
-rw-r--r--cmake/configure-cmake-mapping.md2
2 files changed, 6 insertions, 1 deletions
diff --git a/cmake/QtFlagHandlingHelpers.cmake b/cmake/QtFlagHandlingHelpers.cmake
index 29453e2943..b305bc6b2f 100644
--- a/cmake/QtFlagHandlingHelpers.cmake
+++ b/cmake/QtFlagHandlingHelpers.cmake
@@ -361,6 +361,11 @@ function(qt_internal_set_up_config_optimizations_like_in_qmake)
string(APPEND "${flag_var_name}" " ${QT_CFLAGS_OPTIMIZE_DEBUG}")
endif()
+ set(configs_for_optimize_size RELEASE RELWITHDEBINFO)
+ if(QT_FEATURE_optimize_size AND config IN_LIST configs_for_optimize_size)
+ string(APPEND "${flag_var_name}" " ${QT_CFLAGS_OPTIMIZE_SIZE}")
+ endif()
+
# Assign value to the cache entry.
get_property(help_text CACHE "${flag_var_name}" PROPERTY HELPSTRING)
set("${flag_var_name}" "${${flag_var_name}}" CACHE STRING "${help_text}" FORCE)
diff --git a/cmake/configure-cmake-mapping.md b/cmake/configure-cmake-mapping.md
index d792642a63..c113f4bceb 100644
--- a/cmake/configure-cmake-mapping.md
+++ b/cmake/configure-cmake-mapping.md
@@ -28,7 +28,7 @@ The effort of this is tracked in QTBUG-85373 and QTBUG-85349.
| -debug-and-release | -G "Ninja Multi-Config" | |
| | -DCMAKE_CONFIGURATION_TYPES=Release;Debug | |
| -optimize-debug | -DFEATURE_optimize_debug=ON | |
-| -optimize-size | | |
+| -optimize-size | -DFEATURE_optimize_size=ON | |
| -optimized-tools | n/a | This affects only host tools. |
| -force-debug-info | Use the RelWithDebInfo build config. | |
| -separate-debug-info | -DFEATURE_separate_debug_info=ON | |