summaryrefslogtreecommitdiffstats
path: root/cmake/QtTargetHelpers.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/QtTargetHelpers.cmake')
-rw-r--r--cmake/QtTargetHelpers.cmake16
1 files changed, 16 insertions, 0 deletions
diff --git a/cmake/QtTargetHelpers.cmake b/cmake/QtTargetHelpers.cmake
index dc433be1863..10d60807212 100644
--- a/cmake/QtTargetHelpers.cmake
+++ b/cmake/QtTargetHelpers.cmake
@@ -2065,3 +2065,19 @@ function(qt_internal_workaround_static_lib_gcc_lto_issue target)
target_compile_options("${target}" PRIVATE "${flag_wrapped}")
endif()
endfunction()
+
+# Enable LTO for the debug configuration of optimized tool or library targets.
+# Can be opted out via various options.
+function(qt_internal_enable_optimized_tools_lto target)
+ string(TOLOWER "${PROJECT_NAME}" project_name_lower)
+
+ if(QT_FEATURE_optimized_tools
+ AND NOT QT_FORCE_NO_OPTIMIZED_TOOLS_LTO
+ AND NOT QT_FORCE_NO_OPTIMIZE_${target}
+ AND NOT QT_FORCE_NO_OPTIMIZE_${project_name_lower}
+ AND NOT QT_FORCE_NO_LTO_${target}
+ AND NOT QT_FORCE_NO_LTO_${project_name_lower}
+ )
+ set_target_properties("${target}" PROPERTIES INTERPROCEDURAL_OPTIMIZATION_DEBUG ON)
+ endif()
+endfunction()