aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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" }