diff options
author | Joerg Bornemann <joerg.bornemann@qt.io> | 2017-05-18 16:27:33 +0200 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@qt.io> | 2017-05-22 07:59:43 +0000 |
commit | 1dd00091f99e62d8c10677de98e753fe332565a9 (patch) | |
tree | e7b5a59e853d6e0e961d30e5de2ec595f9fc47fe /share/qbs/modules/cpp/CppModule.qbs | |
parent | d9909033f53b0d4e79a525b95bf088b23e8ef9e2 (diff) |
Make it possible to parametrize dependencies
Modules can declare dependency parameters, e.g.
Module {
name: "cpp"
Parameter { property bool link }
}
Those parameters can be set in Depends items:
CppApplication {
Depends {
name: "otherProduct"
cpp.link: false
}
}
Export items can provide default values for dependency parameters:
DynamicLibrary {
...
Export {
Parameters {
cpp.link: false
}
}
}
Rules can react on dependency parameters by accessing dep.parameters
where dep is an object from the product.dependencies hierarchy.
Showcase and test the feature by adding the cpp.link parameter, which
can be set to false for library dependencies that should not be linked.
[ChangeLog] Added a way to parametrize dependencies.
[ChangeLog][Parameters] Added the cpp.link parameter to enable library
dependencies to be excluded from linking.
Task-number: QBS-585
Change-Id: I3b445ed65d5949a94426879e07a533a1c2af24d8
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'share/qbs/modules/cpp/CppModule.qbs')
-rw-r--r-- | share/qbs/modules/cpp/CppModule.qbs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/share/qbs/modules/cpp/CppModule.qbs b/share/qbs/modules/cpp/CppModule.qbs index 8742e618e..1019b50c2 100644 --- a/share/qbs/modules/cpp/CppModule.qbs +++ b/share/qbs/modules/cpp/CppModule.qbs @@ -462,4 +462,8 @@ Module { v.set(); } } + + Parameter { + property bool link + } } |