From d0911d0a92f47996fcba5520a8a91fe47e10f4a6 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Wed, 26 Feb 2020 11:41:20 +0100 Subject: 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 Reviewed-by: Alexandru Croitor --- config.tests/separate_debug_info/CMakeLists.txt | 10 ++++++++++ config.tests/separate_debug_info/main.cpp | 1 + config.tests/separate_debug_info/separate_debug_info.pro | 7 +++++++ 3 files changed, 18 insertions(+) create mode 100644 config.tests/separate_debug_info/CMakeLists.txt create mode 100644 config.tests/separate_debug_info/main.cpp create mode 100644 config.tests/separate_debug_info/separate_debug_info.pro (limited to 'config.tests') diff --git a/config.tests/separate_debug_info/CMakeLists.txt b/config.tests/separate_debug_info/CMakeLists.txt new file mode 100644 index 0000000000..757374a34a --- /dev/null +++ b/config.tests/separate_debug_info/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.14.0) +project(objcopytest LANGUAGES CXX) +include(CMakeFindBinUtils) +add_executable(objcopytest main.cpp) +add_custom_command( + TARGET objcopytest + POST_BUILD + COMMAND ${CMAKE_OBJCOPY} --only-keep-debug $ objcopytest.debug + COMMAND ${CMAKE_OBJCOPY} --strip-debug $ + COMMAND ${CMAKE_OBJCOPY} --add-gnu-debuglink=objcopytest.debug $) diff --git a/config.tests/separate_debug_info/main.cpp b/config.tests/separate_debug_info/main.cpp new file mode 100644 index 0000000000..237c8ce181 --- /dev/null +++ b/config.tests/separate_debug_info/main.cpp @@ -0,0 +1 @@ +int main() {} diff --git a/config.tests/separate_debug_info/separate_debug_info.pro b/config.tests/separate_debug_info/separate_debug_info.pro new file mode 100644 index 0000000000..577aa734d6 --- /dev/null +++ b/config.tests/separate_debug_info/separate_debug_info.pro @@ -0,0 +1,7 @@ +TARGET = objcopytest +SOURCES += main.cpp +load(resolve_target) +QMAKE_POST_LINK += \ + $$QMAKE_OBJCOPY --only-keep-debug $$QMAKE_RESOLVED_TARGET objcopytest.debug && \ + $$QMAKE_OBJCOPY --strip-debug $$QMAKE_RESOLVED_TARGET && \ + $$QMAKE_OBJCOPY --add-gnu-debuglink=objcopytest.debug $$QMAKE_RESOLVED_TARGET -- cgit v1.2.3