summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexey Edelev <alexey.edelev@qt.io>2020-12-21 19:29:30 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2020-12-22 13:49:30 +0000
commite0121157db5d83cf72dec11da193fe63a07d88ce (patch)
tree0c1a3d4e40ce9c37921fb471f96381cae3755d7d
parentd598f7b9b7b0e1aa08c07bcf54d7d698315ea5f5 (diff)
CMake: Add --enable-new-dtags flag support
Remove enable-new-dtags from feature mapping, handle it as regular feature. Regenerate configure.cmake with 'enable-new-dtags' enabled. Check for enable_new_dtags feature, add -Wl,--enable-new-dtags if enabled. Fixes: QTBUG-89013 Change-Id: Ice57c02dc85f7f9ecf14e3bc65f31a57b589ce24 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Craig Scott <craig.scott@qt.io> (cherry picked from commit bbebfa0be2e51b638459d6d812e4db25a65a0d6d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--.prev_configure.cmake5
-rw-r--r--cmake/QtInternalTargets.cmake4
-rw-r--r--configure.cmake5
-rwxr-xr-xutil/cmake/configurejson2cmake.py1
4 files changed, 14 insertions, 1 deletions
diff --git a/.prev_configure.cmake b/.prev_configure.cmake
index 63a9404708..75081a87c9 100644
--- a/.prev_configure.cmake
+++ b/.prev_configure.cmake
@@ -635,6 +635,11 @@ qt_feature("ltcg"
CONDITION __qt_ltcg_detected
)
qt_feature_config("ltcg" QMAKE_PRIVATE_CONFIG)
+qt_feature("enable_new_dtags"
+ LABEL "Using new DTAGS"
+ CONDITION LINUX AND TEST_enable_new_dtags
+)
+qt_feature_config("enable_new_dtags" QMAKE_PRIVATE_CONFIG)
qt_feature("enable_gdb_index"
LABEL "Generating GDB index"
AUTODETECT QT_FEATURE_developer_build
diff --git a/cmake/QtInternalTargets.cmake b/cmake/QtInternalTargets.cmake
index 2fd99c7be3..6a9d72450b 100644
--- a/cmake/QtInternalTargets.cmake
+++ b/cmake/QtInternalTargets.cmake
@@ -237,6 +237,10 @@ if(QT_FEATURE_enable_gdb_index)
target_link_options(PlatformCommonInternal INTERFACE "-Wl,--gdb-index")
endif()
+if(QT_FEATURE_enable_new_dtags)
+ target_link_options(PlatformCommonInternal INTERFACE "-Wl,--enable-new-dtags")
+endif()
+
function(qt_get_implicit_sse2_genex_condition out_var)
set(is_shared_lib "$<STREQUAL:$<TARGET_PROPERTY:TYPE>,SHARED_LIBRARY>")
set(is_static_lib "$<STREQUAL:$<TARGET_PROPERTY:TYPE>,STATIC_LIBRARY>")
diff --git a/configure.cmake b/configure.cmake
index d65341aa1a..d0767902c8 100644
--- a/configure.cmake
+++ b/configure.cmake
@@ -648,6 +648,11 @@ qt_feature("ltcg"
CONDITION __qt_ltcg_detected
)
qt_feature_config("ltcg" QMAKE_PRIVATE_CONFIG)
+qt_feature("enable_new_dtags"
+ LABEL "Using new DTAGS"
+ CONDITION LINUX AND TEST_enable_new_dtags
+)
+qt_feature_config("enable_new_dtags" QMAKE_PRIVATE_CONFIG)
qt_feature("enable_gdb_index"
LABEL "Generating GDB index"
AUTODETECT QT_FEATURE_developer_build
diff --git a/util/cmake/configurejson2cmake.py b/util/cmake/configurejson2cmake.py
index 15dc067f26..c730aa332c 100755
--- a/util/cmake/configurejson2cmake.py
+++ b/util/cmake/configurejson2cmake.py
@@ -900,7 +900,6 @@ def get_feature_mapping():
"condition": "CMAKE_BUILD_TYPE STREQUAL Debug OR Debug IN_LIST CMAKE_CONFIGURATION_TYPES",
},
"dlopen": {"condition": "UNIX"},
- "enable_new_dtags": None,
"force_debug_info": {
"autoDetect": "CMAKE_BUILD_TYPE STREQUAL RelWithDebInfo OR RelWithDebInfo IN_LIST CMAKE_CONFIGURATION_TYPES"
},