aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJake Petroules <jake.petroules@qt.io>2017-10-03 13:53:13 -0700
committerJake Petroules <jake.petroules@qt.io>2017-10-04 22:08:28 +0000
commit4e811eada68dc26a425b7a7e4e9b0d367ad95c74 (patch)
treea84597d5a283bab875c9d0f2503034bd520b4bb2
parent29538ee667c7643a761deead2c19b21683b4dd5b (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.qbs4
-rw-r--r--qbs-resources/imports/QbsLibrary.qbs6
-rw-r--r--src/libexec/qbs_processlauncher/qbs_processlauncher.qbs2
-rw-r--r--src/plugins/qbsplugin.qbs8
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")