aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2018-05-02 11:35:38 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2018-05-02 12:40:17 +0000
commitad86d31cd2b8ed279c79106e4143424facea0622 (patch)
tree48949d8860ee6e7c052200be88a68eb5e1a4dea5
parenta72ffb709f7d0ec54523d53181294981ad7bf0ec (diff)
When using Depends.productTypes, skip disabled products
Obviously, when using such "wildcard" dependencies, we are only interested in matching products that are actually present. This amends 704b5fa7e8. Change-Id: I9e5c26a5eb32b4a714a28140077e58b24181a6ab Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
-rw-r--r--src/lib/corelib/language/moduleloader.cpp7
-rw-r--r--tests/auto/blackbox/testdata/product-dependencies-by-type/product-dependencies-by-type.qbs6
2 files changed, 11 insertions, 2 deletions
diff --git a/src/lib/corelib/language/moduleloader.cpp b/src/lib/corelib/language/moduleloader.cpp
index 466707a79..b1ecbebf6 100644
--- a/src/lib/corelib/language/moduleloader.cpp
+++ b/src/lib/corelib/language/moduleloader.cpp
@@ -2387,9 +2387,12 @@ void ModuleLoader::resolveDependsItem(DependsContext *dependsContext, Item *pare
}
Item::Module result;
+ bool productTypesIsSet;
+ m_evaluator->stringValue(dependsItem, StringConstants::productTypesProperty(),
+ QString(), &productTypesIsSet);
for (const QualifiedId &moduleName : qAsConst(moduleNames)) {
- const bool isRequired = m_evaluator->boolValue(dependsItem,
- StringConstants::requiredProperty())
+ const bool isRequired = !productTypesIsSet
+ && m_evaluator->boolValue(dependsItem, StringConstants::requiredProperty())
&& !contains(m_requiredChain, false);
const Version minVersion = Version::fromString(
m_evaluator->stringValue(dependsItem,
diff --git a/tests/auto/blackbox/testdata/product-dependencies-by-type/product-dependencies-by-type.qbs b/tests/auto/blackbox/testdata/product-dependencies-by-type/product-dependencies-by-type.qbs
index d6cba15dd..73c9c695d 100644
--- a/tests/auto/blackbox/testdata/product-dependencies-by-type/product-dependencies-by-type.qbs
+++ b/tests/auto/blackbox/testdata/product-dependencies-by-type/product-dependencies-by-type.qbs
@@ -24,6 +24,12 @@ Project {
name: "app3"
files: "main.cpp"
}
+ CppApplication {
+ condition: false
+ consoleApplication: true
+ name: "disabled-app"
+ files: "main.cpp"
+ }
DynamicLibrary {
Depends { name: "cpp" }