summaryrefslogtreecommitdiffstats
path: root/Source/cmake/OptionsQt.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmake/OptionsQt.cmake')
-rw-r--r--Source/cmake/OptionsQt.cmake16
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)