forked from qt-creator/qt-creator
CMakePM: Fix boolean cacheVariables parsing
Fixes: QTCREATORBUG-29078 Change-Id: I652343d6d688e36b6d5ecc23e91243b4cecbb87d Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
@@ -215,14 +215,26 @@ bool parseConfigurePresets(const QJsonValue &jsonValue,
|
|||||||
item.key = cacheKey.toUtf8();
|
item.key = cacheKey.toUtf8();
|
||||||
item.type = CMakeConfigItem::typeStringToType(
|
item.type = CMakeConfigItem::typeStringToType(
|
||||||
cacheVariableObj.value("type").toString().toUtf8());
|
cacheVariableObj.value("type").toString().toUtf8());
|
||||||
item.value = cacheVariableObj.value("type").toString().toUtf8();
|
item.value = cacheVariableObj.value("value").toString().toUtf8();
|
||||||
preset.cacheVariables.value() << item;
|
preset.cacheVariables.value() << item;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
if (cacheValue.isBool()) {
|
||||||
|
preset.cacheVariables.value()
|
||||||
|
<< CMakeConfigItem(cacheKey.toUtf8(),
|
||||||
|
CMakeConfigItem::BOOL,
|
||||||
|
cacheValue.toBool() ? "ON" : "OFF");
|
||||||
|
} else if (CMakeConfigItem::toBool(cacheValue.toString()).has_value()) {
|
||||||
|
preset.cacheVariables.value()
|
||||||
|
<< CMakeConfigItem(cacheKey.toUtf8(),
|
||||||
|
CMakeConfigItem::BOOL,
|
||||||
|
cacheValue.toString().toUtf8());
|
||||||
} else {
|
} else {
|
||||||
preset.cacheVariables.value()
|
preset.cacheVariables.value()
|
||||||
<< CMakeConfigItem(cacheKey.toUtf8(), cacheValue.toString().toUtf8());
|
<< CMakeConfigItem(cacheKey.toUtf8(), cacheValue.toString().toUtf8());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const QJsonObject environmentObj = object.value("environment").toObject();
|
const QJsonObject environmentObj = object.value("environment").toObject();
|
||||||
for (const QString &envKey : environmentObj.keys()) {
|
for (const QString &envKey : environmentObj.keys()) {
|
||||||
|
Reference in New Issue
Block a user