summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@digia.com>2013-11-22 15:28:29 +0100
committerChristian Kandeler <christian.kandeler@digia.com>2013-11-22 16:26:53 +0100
commitacddeb82e5df0d8f947c3e02f5da64a351855023 (patch)
tree5e5338e6484558a47ffdb01a1931c63fbde0a4bf
parent000012b5b2ea25ea9211fd630a52850a76a1a0a8 (diff)
downloadqbs-acddeb82e5df0d8f947c3e02f5da64a351855023.tar.gz
fix regression introduced in e0a8ec89
Accessing module properties in Group.condition didn't work anymore. We must first propagate the modules to the group, then evaluate the condition. Change-Id: Id3eb799faf91f449740c8213671e32af47683c3f Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
-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>();
}