aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@digia.com>2013-10-21 10:01:41 +0200
committerChristian Kandeler <christian.kandeler@digia.com>2013-10-21 11:05:51 +0200
commit544d2b3fefd7604673eed6991d04559d89f08988 (patch)
tree415b2e327e8498aab63eb58c754374a1928b9ead
parent33541468270f179db5135435e138b42a010ae796 (diff)
fix Product.condition evaluation
We must check the product's condition after the modules are loaded, because the condition might depend on module properties. Change-Id: I5b6dbe1d20f823ba0ab259e66744c4d4b25f1a96 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
-rw-r--r--src/lib/language/moduleloader.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lib/language/moduleloader.cpp b/src/lib/language/moduleloader.cpp
index 7bbf76f12..40ce8a95f 100644
--- a/src/lib/language/moduleloader.cpp
+++ b/src/lib/language/moduleloader.cpp
@@ -261,8 +261,6 @@ void ModuleLoader::handleProduct(ProjectContext *projectContext, Item *item)
if (m_logger.traceEnabled())
m_logger.qbsTrace() << "[MODLDR] handleProduct " << item->file()->filePath();
- if (!checkItemCondition(item))
- return;
ProductContext productContext;
productContext.project = projectContext;
productContext.extraModuleSearchPaths = readExtraModuleSearchPaths(item);
@@ -284,6 +282,8 @@ void ModuleLoader::handleProduct(ProjectContext *projectContext, Item *item)
dependsContext.productDependencies = &productContext.info.usedProducts;
setScopeForDescendants(item, productContext.scope);
resolveDependencies(&dependsContext, item);
+ if (!checkItemCondition(item))
+ return;
createAdditionalModuleInstancesInProduct(&productContext);
foreach (Item *child, item->children()) {