diff options
Diffstat (limited to 'Source/cmake/OptionsQt.cmake')
-rw-r--r-- | Source/cmake/OptionsQt.cmake | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/Source/cmake/OptionsQt.cmake b/Source/cmake/OptionsQt.cmake index 28b38fbf5..1ee60b777 100644 --- a/Source/cmake/OptionsQt.cmake +++ b/Source/cmake/OptionsQt.cmake @@ -145,8 +145,15 @@ macro(QTWEBKIT_SEPARATE_DEBUG_INFO _target _target_debug) else () set(_target_file "$<TARGET_FILE:${_target}>") set(${_target_debug} "${_target_file}.debug") + + if (DWZ_FOUND AND NOT SKIP_DWZ) + set(EXTRACT_DEBUG_INFO_COMMAND COMMAND ${DWZ_EXECUTABLE} -L 1000000000 -o ${${_target_debug}} ${_target_file}) + else () + set(EXTRACT_DEBUG_INFO_COMMAND COMMAND ${CMAKE_OBJCOPY} --only-keep-debug ${_target_file} ${${_target_debug}}) + endif () + add_custom_command(TARGET ${_target} POST_BUILD - COMMAND ${CMAKE_OBJCOPY} --only-keep-debug ${_target_file} ${${_target_debug}} + ${EXTRACT_DEBUG_INFO_COMMAND} COMMAND ${CMAKE_OBJCOPY} --strip-debug ${_target_file} COMMAND ${CMAKE_OBJCOPY} --add-gnu-debuglink=${${_target_debug}} ${_target_file} VERBATIM @@ -529,6 +536,13 @@ else () endif () endif () +if (UNIX AND NOT APPLE AND CMAKE_OBJCOPY AND NOT SKIP_DWZ) + find_package(Dwz 0.13) + if (DWZ_FOUND) + message(STATUS "WARNING: dwz may use a lot of RAM - build with -DSKIP_DWZ=ON if you don't have enough") + endif () +endif () + if (ENABLE_TEST_SUPPORT) find_package(Fontconfig) if (FONTCONFIG_FOUND) |