diff options
author | Jake Petroules <jake.petroules@qt.io> | 2017-10-03 13:53:13 -0700 |
---|---|---|
committer | Jake Petroules <jake.petroules@qt.io> | 2017-10-04 22:08:28 +0000 |
commit | 4e811eada68dc26a425b7a7e4e9b0d367ad95c74 (patch) | |
tree | a84597d5a283bab875c9d0f2503034bd520b4bb2 | |
parent | 29538ee667c7643a761deead2c19b21683b4dd5b (diff) |
Install debug symbols of Qbs apps, libs, and plugins for debug builds
This makes debugging with proper symbolication possible on macOS.
Change-Id: Iad28ba3cdc2b33d099e5b80687b17d2335af4e5e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
-rw-r--r-- | qbs-resources/imports/QbsApp.qbs | 4 | ||||
-rw-r--r-- | qbs-resources/imports/QbsLibrary.qbs | 6 | ||||
-rw-r--r-- | src/libexec/qbs_processlauncher/qbs_processlauncher.qbs | 2 | ||||
-rw-r--r-- | src/plugins/qbsplugin.qbs | 8 |
4 files changed, 16 insertions, 4 deletions
diff --git a/qbs-resources/imports/QbsApp.qbs b/qbs-resources/imports/QbsApp.qbs index 15afa7cef..a81efca6a 100644 --- a/qbs-resources/imports/QbsApp.qbs +++ b/qbs-resources/imports/QbsApp.qbs @@ -8,15 +8,17 @@ QbsProduct { type: "application" version: qbsversion.version consoleApplication: true - destinationDirectory: "bin" + destinationDirectory: FileInfo.joinPaths(project.buildDirectory, "bin") cpp.includePaths: [ "../shared", // for the logger ] cpp.cxxLanguageVersion: "c++11" Group { fileTagsFilter: product.type + .concat(qbs.buildVariant === "debug" ? ["debuginfo_app"] : []) qbs.install: true qbs.installDir: qbsbuildconfig.appInstallDir + qbs.installSourceBase: destinationDirectory } Group { name: "logging" diff --git a/qbs-resources/imports/QbsLibrary.qbs b/qbs-resources/imports/QbsLibrary.qbs index 3b884ed5d..b3a2778d0 100644 --- a/qbs-resources/imports/QbsLibrary.qbs +++ b/qbs-resources/imports/QbsLibrary.qbs @@ -1,11 +1,13 @@ import qbs +import qbs.FileInfo QbsProduct { Depends { name: "cpp" } version: qbsversion.version type: Qt.core.staticBuild ? "staticlibrary" : "dynamiclibrary" targetName: (qbs.enableDebugCode && qbs.targetOS.contains("windows")) ? (name + 'd') : name - destinationDirectory: qbs.targetOS.contains("windows") ? "bin" : qbsbuildconfig.libDirName + destinationDirectory: FileInfo.joinPaths(project.buildDirectory, + qbs.targetOS.contains("windows") ? "bin" : qbsbuildconfig.libDirName) cpp.defines: base.concat(visibilityType === "static" ? ["QBS_STATIC_LIB"] : ["QBS_LIBRARY"]) cpp.sonamePrefix: qbs.targetOS.contains("darwin") ? "@rpath" : undefined // ### Uncomment the following line in 1.8 @@ -16,8 +18,10 @@ QbsProduct { property string headerInstallPrefix: "/include/qbs" Group { fileTagsFilter: product.type.concat("dynamiclibrary_symlink") + .concat(qbs.buildVariant === "debug" ? ["debuginfo_dll"] : []) qbs.install: install qbs.installDir: qbsbuildconfig.libInstallDir + qbs.installSourceBase: destinationDirectory } Group { fileTagsFilter: ["dynamiclibrary_import"] diff --git a/src/libexec/qbs_processlauncher/qbs_processlauncher.qbs b/src/libexec/qbs_processlauncher/qbs_processlauncher.qbs index db554f2c7..0ed25dca9 100644 --- a/src/libexec/qbs_processlauncher/qbs_processlauncher.qbs +++ b/src/libexec/qbs_processlauncher/qbs_processlauncher.qbs @@ -38,7 +38,9 @@ QbsProduct { Group { fileTagsFilter: product.type + .concat(qbs.buildVariant === "debug" ? ["debuginfo_app"] : []) qbs.install: true qbs.installDir: qbsbuildconfig.libexecInstallDir + qbs.installSourceBase: destinationDirectory } } diff --git a/src/plugins/qbsplugin.qbs b/src/plugins/qbsplugin.qbs index 5f97a946a..3a086966b 100644 --- a/src/plugins/qbsplugin.qbs +++ b/src/plugins/qbsplugin.qbs @@ -1,4 +1,5 @@ -import qbs 1.0 +import qbs +import qbs.FileInfo QbsProduct { Depends { name: "cpp" } @@ -14,11 +15,14 @@ QbsProduct { cpp.cxxLanguageVersion: "c++11" cpp.includePaths: base.concat(["../../../lib/corelib"]) cpp.visibility: "hidden" - destinationDirectory: qbsbuildconfig.libDirName + "/qbs/plugins" + destinationDirectory: FileInfo.joinPaths(project.buildDirectory, + qbsbuildconfig.libDirName + "/qbs/plugins") Group { fileTagsFilter: ["dynamiclibrary"] + .concat(qbs.buildVariant === "debug" ? ["debuginfo_dll"] : []) qbs.install: true qbs.installDir: qbsbuildconfig.pluginsInstallDir + "/qbs/plugins" + qbs.installSourceBase: destinationDirectory } Properties { condition: qbs.targetOS.contains("darwin") |