diff options
-rw-r--r-- | cmake/QtCompilerOptimization.cmake | 10 | ||||
-rw-r--r-- | configure.cmake | 6 |
2 files changed, 14 insertions, 2 deletions
diff --git a/cmake/QtCompilerOptimization.cmake b/cmake/QtCompilerOptimization.cmake index c8c3da78d5..952ace6652 100644 --- a/cmake/QtCompilerOptimization.cmake +++ b/cmake/QtCompilerOptimization.cmake @@ -168,8 +168,14 @@ endif() # Android Clang if(CLANG AND ANDROID) - set(QT_CFLAGS_OPTIMIZE "-Oz") - set(QT_CFLAGS_OPTIMIZE_FULL "-Oz") + if(QT_FEATURE_ltcg) + # When using LTCG, the linker cannot cope with -Oz. See QTBUG-89472 for details. + set(QT_CFLAGS_OPTIMIZE "-O2") + set(QT_CFLAGS_OPTIMIZE_FULL "-O3") + else() + set(QT_CFLAGS_OPTIMIZE "-Oz") + set(QT_CFLAGS_OPTIMIZE_FULL "-Oz") + endif() endif() # qcc diff --git a/configure.cmake b/configure.cmake index 99bf667861..635dd58c52 100644 --- a/configure.cmake +++ b/configure.cmake @@ -624,6 +624,12 @@ qt_feature("ltcg" CONDITION __qt_ltcg_detected ) qt_feature_config("ltcg" QMAKE_PRIVATE_CONFIG) + +if(NOT QT_CONFIGURE_RUNNING) + # This feature is used early in QtCompilerOptimization.cmake. + qt_evaluate_feature(ltcg) +endif() + qt_feature("enable_new_dtags" LABEL "Using new DTAGS" CONDITION LINUX AND TEST_enable_new_dtags |