summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/language/moduleloader.cpp2
-rw-r--r--src/lib/language/testdata/groupconditions.qbs9
-rw-r--r--src/lib/language/tst_language.cpp2
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>();
}