diff --git a/cmake/QtCreatorAPI.cmake b/cmake/QtCreatorAPI.cmake index fcbb67e7352..5e88b575120 100644 --- a/cmake/QtCreatorAPI.cmake +++ b/cmake/QtCreatorAPI.cmake @@ -36,6 +36,7 @@ set(_THIS_MODULE_BASE_DIR "${CMAKE_CURRENT_LIST_DIR}") option(BUILD_PLUGINS_BY_DEFAULT "Build plugins by default. This can be used to build all plugins by default, or none." ON) option(BUILD_EXECUTABLES_BY_DEFAULT "Build executables by default. This can be used to build all executables by default, or none." ON) option(BUILD_LIBRARIES_BY_DEFAULT "Build libraries by default. This can be used to build all libraries by default, or none." ON) +option(QTC_SEPARATE_DEBUG_INFO "Extract debug information from binary files." OFF) function(qtc_plugin_enabled varName name) if (NOT (name IN_LIST __QTC_PLUGINS)) diff --git a/cmake/QtcSeparateDebugInfo.cmake b/cmake/QtcSeparateDebugInfo.cmake index 7cc8ff3f0d6..768e2974612 100644 --- a/cmake/QtcSeparateDebugInfo.cmake +++ b/cmake/QtcSeparateDebugInfo.cmake @@ -3,9 +3,9 @@ set(CMAKE_CURRENT_FUNCTION_LIST_DIR ${CMAKE_CURRENT_LIST_DIR}) endif() # Enable separate debug information for the given target -# when doing RelWithDebInfo build +# when QTC_SEPARATE_DEBUG_INFO is set function(qtc_enable_separate_debug_info target installDestination) - if (NOT CMAKE_BUILD_TYPE STREQUAL RelWithDebInfo) + if (NOT QTC_SEPARATE_DEBUG_INFO) return() endif() if (NOT UNIX AND NOT MINGW) diff --git a/scripts/build.py b/scripts/build.py index 1aa491f1bc1..afc289fd327 100755 --- a/scripts/build.py +++ b/scripts/build.py @@ -119,9 +119,11 @@ def build_qtcreator(args, paths): with_docs_str = 'OFF' if args.no_docs else 'ON' build_date_option = 'OFF' if args.no_build_date else 'ON' test_option = 'ON' if args.with_tests else 'OFF' + separate_debug_info_option = 'ON' if args.with_debug_info else 'OFF' cmake_args = ['cmake', '-DCMAKE_PREFIX_PATH=' + ';'.join(prefix_paths), '-DCMAKE_BUILD_TYPE=' + args.build_type, + '-DQTC_SEPARATE_DEBUG_INFO=' + separate_debug_info_option, '-DSHOW_BUILD_DATE=' + build_date_option, '-DWITH_DOCS=' + with_docs_str, '-DBUILD_DEVELOPER_DOCS=' + with_docs_str, diff --git a/scripts/build_plugin.py b/scripts/build_plugin.py index c1b12a97f9e..8ec5eb44641 100755 --- a/scripts/build_plugin.py +++ b/scripts/build_plugin.py @@ -70,9 +70,11 @@ def build(args, paths): os.makedirs(paths.result) prefix_paths = [os.path.abspath(fp) for fp in args.prefix_paths] + [paths.qt_creator, paths.qt] prefix_paths = [common.to_posix_path(fp) for fp in prefix_paths] + separate_debug_info_option = 'ON' if args.with_debug_info else 'OFF' cmake_args = ['cmake', '-DCMAKE_PREFIX_PATH=' + ';'.join(prefix_paths), '-DCMAKE_BUILD_TYPE=' + args.build_type, + '-DQTC_SEPARATE_DEBUG_INFO=' + separate_debug_info_option, '-DCMAKE_INSTALL_PREFIX=' + common.to_posix_path(paths.install), '-G', 'Ninja']