From 297c78c3263f61409132d9c981ad5a9e3feabcc1 Mon Sep 17 00:00:00 2001 From: Lars Toenning Date: Tue, 14 Nov 2023 19:51:38 +0100 Subject: [PATCH] Add option to build minimized debug symbols Related to 621f4c5add4e70a9c8bcd43f7ed78bade0031e1f --- CMakeLists.txt | 10 ++++++++++ scripts/build.py | 1 + 2 files changed, 11 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6210f22d1..16adf1c02 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -43,6 +43,7 @@ cmake_dependent_option(SWIFT_BUILD_XSWIFTBUS "Build xswiftbus" ON "NOT SWIFT_WIN option(SWIFT_BUILD_FLIGHTGEAR_PLUGIN "Build Flightgear plugin" ON) option(SWIFT_BUILD_EMULATED_PLUGIN "Build Emulated plugin" ON) cmake_dependent_option(SWIFT_BUILD_MSFS_PLUGIN "Build MSFS plugin" ON WIN32 OFF) +option(SWIFT_MINIFY_DEBUG_SYMBOLS "Minify debug symbols" OFF) option(SWIFT_BUILD_BLACKCORE "Build Blackcore" ON) option(SWIFT_BUILD_BLACKSOUND "Build Blacksound" ON) @@ -56,6 +57,15 @@ option(SWIFT_VATSIM_SUPPORT "Build with VATSIM support" ON) set(VATSIM_KEY_JSON "" CACHE STRING "Path to JSON containing VATSIM key") load_vatsim_key() +if(SWIFT_MINIFY_DEBUG_SYMBOLS) + if(MSVC) + add_link_options(/OPT:REF /OPT:ICF) + elseif(${CMAKE_CXX_COMPILER_ID} STREQUAL GNU) + add_compile_options(-g1 -gz) + elseif(${CMAKE_CXX_COMPILER_ID} MATCHES ".*Clang") + add_compile_options(-gline-tables-only) + endif() +endif() if(MSVC) # This also installs some dlls which we do not need diff --git a/scripts/build.py b/scripts/build.py index c4a8c11d4..e3f2a9d07 100644 --- a/scripts/build.py +++ b/scripts/build.py @@ -51,6 +51,7 @@ class Builder: '..', '-G {}'.format(self._get_generator()), '-DCMAKE_BUILD_TYPE=RelWithDebInfo', + '-DSWIFT_MINIFY_DEBUG_SYMBOLS=ON', '-DCMAKE_INSTALL_PREFIX=../dist', '-DSWIFT_USE_CRASHPAD={}'.format(use_crashpad)] + cmake_args subprocess.check_call(cmake_call, env=dict(os.environ))