summaryrefslogtreecommitdiff
path: root/configure.cmake
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@qt.io>2020-02-26 11:41:20 +0100
committerJoerg Bornemann <joerg.bornemann@qt.io>2020-03-06 13:38:37 +0100
commitd0911d0a92f47996fcba5520a8a91fe47e10f4a6 (patch)
tree652064c2633931ea62441defc9a29dafd1ef773a /configure.cmake
parenta3d0ef019a2a592d55035adc784d5d0475f39a74 (diff)
downloadqtbase-d0911d0a92f47996fcba5520a8a91fe47e10f4a6.tar.gz
CMake: Port the 'separate_debug_info' feature
For this, we have to uninline the separate_debug_info configure test, because supporting the conversion of this in configurejson2cmake is not worth the hassle. Separate debug information can be turned on for a target by calling the function qt_enable_separate_debug_info. For Qt's shared libraries and tools separate debug information is generated if the 'separate_debug_info' feature is manually turned on. Change-Id: Ic2ffc15efef3794dc0aa42f3d853ef6d651a751c Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'configure.cmake')
-rw-r--r--configure.cmake10
1 files changed, 10 insertions, 0 deletions
diff --git a/configure.cmake b/configure.cmake
index 2fc01379fa..5701bcef4b 100644
--- a/configure.cmake
+++ b/configure.cmake
@@ -127,6 +127,10 @@ int main(int argc, char **argv)
"# FIXME: qmake: ['TEMPLATE = lib', 'CONFIG += dll bsymbolic_functions', 'isEmpty(QMAKE_LFLAGS_BSYMBOLIC_FUNC): error("Nope")']
)
+
+qt_config_compile_test("separate_debug_info"
+ LABEL "separate debug information support"
+ PROJECT_PATH "${CMAKE_CURRENT_SOURCE_DIR}/config.tests/separate_debug_info")
# signaling_nan
qt_config_compile_test(signaling_nan
LABEL "Signaling NaN for doubles"
@@ -367,6 +371,12 @@ qt_feature("force_debug_info"
AUTODETECT CMAKE_BUILD_TYPE STREQUAL RelWithDebInfo OR RelWithDebInfo IN_LIST CMAKE_CONFIGURATION_TYPES
)
qt_feature_config("force_debug_info" QMAKE_PRIVATE_CONFIG)
+qt_feature("separate_debug_info" PUBLIC
+ LABEL "Split off debug information"
+ AUTODETECT OFF
+ CONDITION ( QT_FEATURE_shared ) AND ( QT_FEATURE_debug OR QT_FEATURE_debug_and_release OR QT_FEATURE_force_debug_info ) AND ( APPLE OR TEST_separate_debug_info )
+)
+qt_feature_config("separate_debug_info" QMAKE_PUBLIC_QT_CONFIG)
qt_feature("appstore-compliant" PUBLIC
LABEL "App store compliance"
PURPOSE "Disables code that is not allowed in platform app stores"