aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@digia.com>2013-07-02 12:20:51 +0200
committerChristian Kandeler <christian.kandeler@digia.com>2013-07-03 15:02:12 +0200
commit2e2e74018614ec25c1591cd883d7936ec42b8ca9 (patch)
tree6b3f231c901d9600b0196b4edaac4a92e7e47e43
parent8a6c03c35c6487c33a25209f29546bfd33c51cfc (diff)
Make the qbs project files embeddable in another project.
The qmake project files already have this ability. Change-Id: I9d01609525b410a7cf0bb86865aa85c5435bad03 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
-rw-r--r--qbs.qbs5
-rw-r--r--share/share.qbs4
-rw-r--r--src/lib/lib.qbs17
-rw-r--r--src/plugins/plugins.qbs1
-rw-r--r--src/plugins/scanner/scannerplugin.qbs3
5 files changed, 17 insertions, 13 deletions
diff --git a/qbs.qbs b/qbs.qbs
index d6f83b80e..62864d87f 100644
--- a/qbs.qbs
+++ b/qbs.qbs
@@ -3,6 +3,11 @@ import qbs 1.0
Project {
property bool enableUnitTests: false
property bool enableRPath: true
+ property bool installApiHeaders: true
+ property path libInstallDir: qbs.targetOS.contains("windows") ? "bin" : "lib"
+ property path libRPaths: (project.enableRPath && qbs.targetOS.contains("linux"))
+ ? ["$ORIGIN/../lib"] : undefined
+ property path resourcesInstallDir: ""
references: [
"src/src.qbs",
diff --git a/share/share.qbs b/share/share.qbs
index cdd571339..1cefa5af1 100644
--- a/share/share.qbs
+++ b/share/share.qbs
@@ -1,11 +1,11 @@
import qbs
Product {
- name: "share"
+ name: "qbs resources"
Group {
files: ["qbs"]
qbs.install: true
- qbs.installDir: "share"
+ qbs.installDir: project.resourcesInstallDir + "/share"
}
Transformer {
diff --git a/src/lib/lib.qbs b/src/lib/lib.qbs
index 9fbcb5902..9e8bc27d8 100644
--- a/src/lib/lib.qbs
+++ b/src/lib/lib.qbs
@@ -31,7 +31,7 @@ Product {
Group {
name: product.name
files: ["qbs.h"]
- qbs.install: true
+ qbs.install: project.installApiHeaders
qbs.installDir: headerInstallPrefix
}
Group {
@@ -50,7 +50,7 @@ Product {
}
Group {
name: "public api headers"
- qbs.install: true
+ qbs.install: project.installApiHeaders
qbs.installDir: headerInstallPrefix + "/api"
prefix: "api/"
files: [
@@ -116,7 +116,7 @@ Product {
}
Group {
name: "public buildgraph headers"
- qbs.install: true
+ qbs.install: project.installApiHeaders
qbs.installDir: headerInstallPrefix + "/buildgraph"
files: "buildgraph/forward_decls.h"
}
@@ -194,7 +194,7 @@ Product {
}
Group {
name: "public language headers"
- qbs.install: true
+ qbs.install: project.installApiHeaders
qbs.installDir: headerInstallPrefix + "/language"
files: "language/forward_decls.h"
}
@@ -210,7 +210,7 @@ Product {
}
Group {
name: "public logging headers"
- qbs.install: true
+ qbs.install: project.installApiHeaders
qbs.installDir: headerInstallPrefix + "/logging"
files: "logging/ilogsink.h"
}
@@ -293,7 +293,7 @@ Product {
"settings.h",
"setupprojectparameters.h",
]
- qbs.install: true
+ qbs.install: project.installApiHeaders
qbs.installDir: headerInstallPrefix + "/tools"
}
Group {
@@ -327,13 +327,12 @@ Product {
Group {
fileTagsFilter: "dynamiclibrary"
qbs.install: true
- qbs.installDir: qbs.targetOS.contains("windows") ? "bin" : "lib"
+ qbs.installDir: project.libInstallDir
}
Export {
Depends { name: "cpp" }
Depends { name: "Qt"; submodules: ["script", "xml"] }
- cpp.rpaths: (project.enableRPath && qbs.targetOS.contains("linux"))
- ? ["$ORIGIN/../lib"] : undefined
+ cpp.rpaths: project.libRPaths
cpp.includePaths: path
cpp.defines: product.type === "staticlibrary" ? ["QBS_STATIC_LIB"] : []
}
diff --git a/src/plugins/plugins.qbs b/src/plugins/plugins.qbs
index af7ac06ce..eb2fb3610 100644
--- a/src/plugins/plugins.qbs
+++ b/src/plugins/plugins.qbs
@@ -1,6 +1,7 @@
import qbs
Project {
+ name: "qbs plugins"
references: [
"scanner/cpp/cpp.qbs",
"scanner/qt/qt.qbs"
diff --git a/src/plugins/scanner/scannerplugin.qbs b/src/plugins/scanner/scannerplugin.qbs
index f5b166b94..ee841a4d0 100644
--- a/src/plugins/scanner/scannerplugin.qbs
+++ b/src/plugins/scanner/scannerplugin.qbs
@@ -7,7 +7,6 @@ DynamicLibrary {
Group {
fileTagsFilter: ["dynamiclibrary"]
qbs.install: true
- qbs.installDir: "lib/qbs/plugins"
+ qbs.installDir: project.resourcesInstallDir + "/lib/qbs/plugins"
}
}
-