diff options
-rw-r--r-- | src/lib/language/moduleloader.cpp | 2 | ||||
-rw-r--r-- | src/lib/language/testdata/groupconditions.qbs | 9 | ||||
-rw-r--r-- | src/lib/language/tst_language.cpp | 2 |
3 files changed, 12 insertions, 1 deletions
diff --git a/src/lib/language/moduleloader.cpp b/src/lib/language/moduleloader.cpp index c4fce38a1..8b1f147b2 100644 --- a/src/lib/language/moduleloader.cpp +++ b/src/lib/language/moduleloader.cpp @@ -394,8 +394,8 @@ void ModuleLoader::createAdditionalModuleInstancesInProduct(ProductContext *prod void ModuleLoader::handleGroup(ProductContext *productContext, Item *item) { checkCancelation(); - checkItemCondition(item); propagateModulesFromProduct(productContext, item); + checkItemCondition(item); } void ModuleLoader::handleArtifact(ProductContext *productContext, Item *item) diff --git a/src/lib/language/testdata/groupconditions.qbs b/src/lib/language/testdata/groupconditions.qbs index 27433329d..244c80c2c 100644 --- a/src/lib/language/testdata/groupconditions.qbs +++ b/src/lib/language/testdata/groupconditions.qbs @@ -41,4 +41,13 @@ Project { files: ["main.cpp"] } } + + Product { + name: "condition_accessing_module_property" + Group { + condition: qbs.targetOS.contains("narf") + files: ["main.cpp"] + qbs.install: false + } + } } diff --git a/src/lib/language/tst_language.cpp b/src/lib/language/tst_language.cpp index 20a977d70..7041b0512 100644 --- a/src/lib/language/tst_language.cpp +++ b/src/lib/language/tst_language.cpp @@ -459,6 +459,8 @@ void TestLanguage::groupConditions_data() << 2 << (QList<bool>() << true << true); QTest::newRow("true_condition_from_project") << 2 << (QList<bool>() << true << true); + QTest::newRow("condition_accessing_module_property") + << 2 << (QList<bool>() << true << false); QTest::newRow("cleanup") << 0 << QList<bool>(); } |