summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2018-08-23 14:29:35 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2018-09-04 07:42:12 +0000
commit78c3eeb0a344fccc8bfb7a74c2d042553677c398 (patch)
tree41b670a1c46ab1466ad1ed851ccf592d6db16dd9
parentccff5cc28dc1ce48097a45802b2d154bea33f5ea (diff)
downloadqtbase-78c3eeb0a344fccc8bfb7a74c2d042553677c398.tar.gz
Allow header products to opt out of syncing
For the case where a module delegates the syncqt functionality to another one, as it's done in the activeqt repository. The QtHeaders instance of such a module would simply export a dependency to the QtHeaders instance of the module that does the syncing, so dependees won't have to know about the delegation. Change-Id: Ide84b7ea2c910bc781a7b255f8afe8bdc79a6c35 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
-rw-r--r--qbs/imports/QtHeaders.qbs16
1 files changed, 12 insertions, 4 deletions
diff --git a/qbs/imports/QtHeaders.qbs b/qbs/imports/QtHeaders.qbs
index d2499801e6..a72aeae5ad 100644
--- a/qbs/imports/QtHeaders.qbs
+++ b/qbs/imports/QtHeaders.qbs
@@ -7,12 +7,13 @@ Product {
condition: project.conditionFunction(qbs)
property bool install: true
property bool consideredBySync: true
+ property bool syncable: true
property var config: project.config
property var privateConfig: project.privateConfig
Depends { name: "Qt.global" }
- Depends { name: "sync" }
+ Depends { name: "sync"; condition: syncable }
sync.module: project.name
multiplexByQbsProperties: ["profiles"]
@@ -23,12 +24,14 @@ Product {
Exporter.qbs.fileName: project.simpleName + "_headers.qbs"
Group {
+ condition: syncable
fileTagsFilter: ["hpp_public", "hpp_forwarding", "hpp_module", "hpp_depends"]
qbs.install: product.install
qbs.installDir: sync.prefix + '/' + sync.module
}
Group {
+ condition: syncable
fileTagsFilter: "hpp_private"
qbs.install: product.install
qbs.installDir: sync.prefix + '/' + sync.module + "/"
@@ -37,6 +40,7 @@ Product {
}
Group {
+ condition: syncable
fileTagsFilter: "hpp_qpa"
qbs.install: product.install
qbs.installDir: FileInfo.joinPaths(sync.prefix, sync.module, project.version, sync.module,
@@ -51,9 +55,13 @@ Product {
property string baseDir: sourceDirectory
property stringList shadowBuildFiles: []
- files: [baseDir + "/*.h", baseDir + "/**/*.h"].concat(
- project.isShadowBuild ? shadowBuildFiles : [])
- excludeFiles: [baseDir + "/doc/**"]
+
+ Properties {
+ condition: syncable
+ files: [baseDir + "/*.h", baseDir + "/**/*.h"].concat(
+ project.isShadowBuild ? shadowBuildFiles : [])
+ excludeFiles: [baseDir + "/doc/**"]
+ }
Export {
property stringList includePaths: project.includePaths