diff options
-rw-r--r-- | src/lib/corelib/language/moduleloader.cpp | 7 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata/product-dependencies-by-type/product-dependencies-by-type.qbs | 6 |
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" } |