diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2018-08-23 14:29:35 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2018-09-04 07:42:12 +0000 |
commit | 78c3eeb0a344fccc8bfb7a74c2d042553677c398 (patch) | |
tree | 41b670a1c46ab1466ad1ed851ccf592d6db16dd9 | |
parent | ccff5cc28dc1ce48097a45802b2d154bea33f5ea (diff) | |
download | qtbase-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.qbs | 16 |
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 |