From d1567560d90fb1ecb3305c6f658e962242b34130 Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Wed, 3 Apr 2024 17:48:27 +0300 Subject: [PATCH] Because of code signing we cannot copy debug symbols on macos inside a bundle. Code signing happens before we upload them on server and remove. --- qbs/imports/VDynamicLib.qbs | 5 +++++ qbs/imports/VToolApp.qbs | 5 +++++ qbs/modules/buildconfig/buildconfig.qbs | 7 +++++++ 3 files changed, 17 insertions(+) diff --git a/qbs/imports/VDynamicLib.qbs b/qbs/imports/VDynamicLib.qbs index 01030dd27..01f57f77c 100644 --- a/qbs/imports/VDynamicLib.qbs +++ b/qbs/imports/VDynamicLib.qbs @@ -39,6 +39,11 @@ VLib { installDebugInformation: qbs.buildVariant !== "release" || (buildconfig.useConanPackages && buildconfig.conanCrashReportingEnabled) + Properties { + condition: qbs.targetOS.contains("macos") && (buildconfig.useConanPackages && buildconfig.conanCrashReportingEnabled) + debugInformationInstallDir: buildconfig.debugInformationInstallPath + } + Properties { condition: !qbs.targetOS.contains("macos") || (qbs.targetOS.contains("macos") && !buildconfig.enableMultiBundle) install: true diff --git a/qbs/imports/VToolApp.qbs b/qbs/imports/VToolApp.qbs index 562302596..7cebc2e19 100644 --- a/qbs/imports/VToolApp.qbs +++ b/qbs/imports/VToolApp.qbs @@ -17,6 +17,11 @@ VApp { property bool primaryApp: false + Properties { + condition: qbs.targetOS.contains("macos") && (buildconfig.useConanPackages && buildconfig.conanCrashReportingEnabled) + debugInformationInstallDir: buildconfig.debugInformationInstallPath + } + Properties { condition: qbs.targetOS.contains("macos") // Breakpoints do not work if debug the app inside of bundle. In debug mode we turn off creating a bundle. diff --git a/qbs/modules/buildconfig/buildconfig.qbs b/qbs/modules/buildconfig/buildconfig.qbs index 3d798370a..4c9d0da35 100644 --- a/qbs/modules/buildconfig/buildconfig.qbs +++ b/qbs/modules/buildconfig/buildconfig.qbs @@ -74,6 +74,13 @@ Module { return "bin"; } + readonly property string debugInformationInstallPath: { + if (qbs.targetOS.contains("macos")) + return installAppPath + "/" + appTarget + "_dSYM" + else + return product.installDir + } + readonly property string installBinaryPath: { if (qbs.targetOS.contains("macos")) return installAppPath + "/" + appTarget + ".app/Contents/MacOS"