Meson: Hide versionNumber() in cpp and make it static

Change-Id: I0132de7b6a7df7dd5d6ae4f1ddef52d5af33729a
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Jarek Kobus
2024-07-25 07:41:32 +02:00
parent d10c720dfc
commit 0984b7b0c8
2 changed files with 11 additions and 14 deletions

View File

@@ -5,13 +5,10 @@
#include "buildoptions.h"
#include "buildoptionsparser.h"
#include "common.h"
#include "target.h"
#include <utils/filepath.h>
#include <QVersionNumber>
#include <optional>
namespace MesonProjectManager::Internal::MesonInfoParser {
@@ -123,16 +120,6 @@ struct Result
Utils::FilePaths buildSystemFiles;
};
inline QVersionNumber versionNumber(const Utils::FilePath &buildDir)
{
const Utils::FilePath jsonFile = buildDir / Constants::MESON_INFO_DIR / Constants::MESON_INFO;
auto obj = load<QJsonObject>(jsonFile.toFSPathString());
if (!obj)
return {};
auto version = obj->value("meson_version").toObject();
return {version["major"].toInt(), version["minor"].toInt(), version["patch"].toInt()};
}
inline Result parse(const Utils::FilePath &buildDir)
{
return {TargetParser::targetList(buildDir),

View File

@@ -307,9 +307,19 @@ bool MesonProjectParser::matchesKit(const KitData &kit)
return matches;
}
static QVersionNumber versionNumber(const FilePath &buildDir)
{
const Utils::FilePath jsonFile = buildDir / Constants::MESON_INFO_DIR / Constants::MESON_INFO;
auto obj = load<QJsonObject>(jsonFile.toFSPathString());
if (!obj)
return {};
auto version = obj->value("meson_version").toObject();
return {version["major"].toInt(), version["minor"].toInt(), version["patch"].toInt()};
}
bool MesonProjectParser::usesSameMesonVersion(const FilePath &buildPath)
{
auto version = MesonInfoParser::versionNumber(buildPath);
auto version = versionNumber(buildPath);
auto meson = MesonTools::toolById(m_meson, ToolType::Meson);
return !version.isNull() && meson && version == meson->version();
}