Meson: Streamline setup a bit

Change-Id: I8d146b2b79beb9b09dcf6f8ed498039d79af0e76
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
This commit is contained in:
hjk
2024-07-22 17:49:58 +02:00
parent ed10d7a449
commit a4a92a04a1
6 changed files with 80 additions and 69 deletions

View File

@@ -20,6 +20,25 @@ using namespace Utils;
namespace MesonProjectManager {
namespace Internal {
static ToolType typeFromId(const QString &id)
{
if (id == Constants::ToolsSettings::TOOL_TYPE_NINJA)
return ToolType::Ninja;
if (id == Constants::ToolsSettings::TOOL_TYPE_MESON)
return ToolType::Meson;
QTC_CHECK(false);
return ToolType::Meson;
}
ToolWrapper::ToolWrapper(const Store &data)
{
m_toolType = typeFromId(data.value(Constants::ToolsSettings::TOOL_TYPE_KEY).toString());
m_name = data[Constants::ToolsSettings::NAME_KEY].toString();
m_exe = FilePath::fromSettings(data[Constants::ToolsSettings::EXE_KEY]);
m_id = Id::fromSetting(data[Constants::ToolsSettings::ID_KEY]);
m_autoDetected = data[Constants::ToolsSettings::AUTO_DETECTED_KEY].toBool();
}
ToolWrapper::ToolWrapper(ToolType toolType,
const QString &name,
const FilePath &path,
@@ -83,15 +102,6 @@ Store ToolWrapper::toVariantMap() const
return data;
}
ToolWrapper *ToolWrapper::fromVariantMap(const Store &data, ToolType toolType)
{
return new ToolWrapper(toolType,
data[Constants::ToolsSettings::NAME_KEY].toString(),
Utils::FilePath::fromSettings(data[Constants::ToolsSettings::EXE_KEY]),
Utils::Id::fromSetting(data[Constants::ToolsSettings::ID_KEY]),
data[Constants::ToolsSettings::AUTO_DETECTED_KEY].toBool());
}
static std::optional<FilePath> findTool(const QStringList &exeNames)
{
Environment systemEnvironment = Environment::systemEnvironment();