aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/language/moduleloader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/corelib/language/moduleloader.cpp')
-rw-r--r--src/lib/corelib/language/moduleloader.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/lib/corelib/language/moduleloader.cpp b/src/lib/corelib/language/moduleloader.cpp
index b8a4571a5..afdb908ea 100644
--- a/src/lib/corelib/language/moduleloader.cpp
+++ b/src/lib/corelib/language/moduleloader.cpp
@@ -822,10 +822,12 @@ QList<Item *> ModuleLoader::multiplexProductItem(ProductContext *dummyContext, I
item = productItem->clone();
additionalProductItems.append(item);
}
+ const QString multiplexConfigurationId = multiplexInfo.toIdString(row);
+ const VariantValuePtr multiplexConfigurationIdValue
+ = VariantValue::create(multiplexConfigurationId);
+ item->setProperty(QStringLiteral("__multiplexConfigIdForModulePrototypes"),
+ multiplexConfigurationIdValue);
if (multiplexInfo.table.size() > 1 || aggregator) {
- const QString multiplexConfigurationId = multiplexInfo.toIdString(row);
- const VariantValuePtr multiplexConfigurationIdValue
- = VariantValue::create(multiplexConfigurationId);
multiplexConfigurationIdValues.push_back(multiplexConfigurationIdValue);
item->setProperty(multiplexConfigurationIdKey, multiplexConfigurationIdValue);
}
@@ -942,6 +944,8 @@ void ModuleLoader::prepareProduct(ProjectContext *projectContext, Item *productI
QString(), &profilePropertySet);
productContext.multiplexConfigurationId
= m_evaluator->stringValue(productItem, QLatin1String("multiplexConfigurationId"));
+ productContext.multiplexConfigIdForModulePrototypes = m_evaluator->stringValue(
+ productItem, QStringLiteral("__multiplexConfigIdForModulePrototypes"));
QBS_CHECK(profilePropertySet);
const auto it = projectContext->result->profileConfigs.constFind(productContext.profileName);
if (it == projectContext->result->profileConfigs.constEnd()) {
@@ -2551,8 +2555,8 @@ Item *ModuleLoader::loadModuleFile(ProductContext *productContext, const QString
qCDebug(lcModuleLoader) << "loadModuleFile" << fullModuleName << "from" << filePath;
- const QString keyUniquifier = productContext->multiplexConfigurationId.isEmpty() ?
- productContext->profileName : productContext->uniqueName();
+ const QString keyUniquifier = productContext->multiplexConfigIdForModulePrototypes.isEmpty()
+ ? productContext->profileName : productContext->multiplexConfigIdForModulePrototypes;
const ModuleItemCache::key_type cacheKey(filePath, keyUniquifier);
const ItemCacheValue cacheValue = m_modulePrototypeItemCache.value(cacheKey);
if (cacheValue.module) {