diff options
Diffstat (limited to 'src/lib/corelib/language/moduleloader.cpp')
-rw-r--r-- | src/lib/corelib/language/moduleloader.cpp | 7 |
1 files changed, 5 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, |