summaryrefslogtreecommitdiff
path: root/Source/cmake/OptionsQt.cmake
diff options
context:
space:
mode:
authorKonstantin Tokarev <annulen@yandex.ru>2019-09-11 12:41:53 +0300
committerKonstantin Tokarev <annulen@yandex.ru>2019-09-11 12:43:26 +0300
commit1482978d1e764e0c31c2df8890913d6801a8e065 (patch)
treeb2e41908c8e078c00a57e30e5337ca88609e5b2a /Source/cmake/OptionsQt.cmake
parent5087e0ced43d813eb6f765913a6fc3958d2a7a9d (diff)
downloadqtwebkit-1482978d1e764e0c31c2df8890913d6801a8e065.tar.gz
Import QtWebKit commit 68b093f76fd3ee458de9d1bbf54e1d5a648a71bd
Change-Id: I62abae1d1e60d2cb65514d01fa89ad44308a6ba4 Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
Diffstat (limited to 'Source/cmake/OptionsQt.cmake')
-rw-r--r--Source/cmake/OptionsQt.cmake31
1 files changed, 31 insertions, 0 deletions
diff --git a/Source/cmake/OptionsQt.cmake b/Source/cmake/OptionsQt.cmake
index 7e1e55340..bdcc58a48 100644
--- a/Source/cmake/OptionsQt.cmake
+++ b/Source/cmake/OptionsQt.cmake
@@ -147,6 +147,24 @@ macro(QTWEBKIT_GENERATE_MOC_FILES_H _target)
endforeach ()
endmacro()
+macro(QTWEBKIT_SEPARATE_DEBUG_INFO _target _target_debug)
+ if (UNIX AND NOT APPLE)
+ if (NOT CMAKE_OBJCOPY)
+ message(WARNING "CMAKE_OBJCOPY is not defined - debug information will not be split")
+ else ()
+ set(_target_file "$<TARGET_FILE:${_target}>")
+ set(${_target_debug} "${_target_file}.debug")
+ add_custom_command(TARGET ${_target} POST_BUILD
+ COMMAND ${CMAKE_OBJCOPY} --only-keep-debug ${_target_file} ${${_target_debug}}
+ COMMAND ${CMAKE_OBJCOPY} --strip-debug ${_target_file}
+ COMMAND ${CMAKE_OBJCOPY} --add-gnu-debuglink=${${_target_debug}} ${_target_file}
+ VERBATIM
+ )
+ unset(_target_file)
+ endif ()
+ endif ()
+endmacro()
+
set(CMAKE_MACOSX_RPATH ON)
add_definitions(-DBUILDING_QT__=1)
@@ -698,6 +716,19 @@ if (WIN32 AND COMPILER_IS_GCC_OR_CLANG)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-keep-inline-dllexport")
endif ()
+# See also FORCE_DEBUG_INFO in Source/PlatformQt.cmake
+if (FORCE_DEBUG_INFO)
+ if (COMPILER_IS_GCC_OR_CLANG)
+ # Enable debug info in Release builds
+ set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -g")
+ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -g")
+ endif ()
+ if (USE_LD_GOLD)
+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--gdb-index")
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--gdb-index")
+ endif ()
+endif ()
+
if (APPLE)
SET_AND_EXPOSE_TO_BUILD(HAVE_QOS_CLASSES 1)
endif ()