From 41bdcabe5ff5771ff5787f756571480b5beea9fd Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Thu, 25 Jul 2024 07:21:33 +0200 Subject: [PATCH] Meson: Get rid of MesonInfo, use QVersionNumber directly Change-Id: I482cfdfe988c10e592b0f2bf106b6ace41cf44ad Reviewed-by: hjk --- src/plugins/mesonprojectmanager/CMakeLists.txt | 1 - src/plugins/mesonprojectmanager/infoparser.h | 14 ++++++-------- src/plugins/mesonprojectmanager/mesoninfo.h | 17 ----------------- .../mesonprojectmanager/mesoninfoparser.h | 5 ++--- .../mesonprojectmanager/mesonprojectmanager.qbs | 1 - .../mesonprojectmanager/mesonprojectparser.cpp | 2 +- 6 files changed, 9 insertions(+), 31 deletions(-) delete mode 100644 src/plugins/mesonprojectmanager/mesoninfo.h diff --git a/src/plugins/mesonprojectmanager/CMakeLists.txt b/src/plugins/mesonprojectmanager/CMakeLists.txt index 5976d8f863a..45fab3f04f8 100644 --- a/src/plugins/mesonprojectmanager/CMakeLists.txt +++ b/src/plugins/mesonprojectmanager/CMakeLists.txt @@ -18,7 +18,6 @@ add_qtc_plugin(MesonProjectManager mesonbuildconfiguration.h mesonbuildsystem.cpp mesonbuildsystem.h - mesoninfo.h mesoninfoparser.h mesonoutputparser.cpp mesonoutputparser.h diff --git a/src/plugins/mesonprojectmanager/infoparser.h b/src/plugins/mesonprojectmanager/infoparser.h index 057f81fe4ee..f0131078243 100644 --- a/src/plugins/mesonprojectmanager/infoparser.h +++ b/src/plugins/mesonprojectmanager/infoparser.h @@ -4,7 +4,6 @@ #pragma once #include "common.h" -#include "mesoninfo.h" #include "mesonpluginconstants.h" #include @@ -12,19 +11,18 @@ #include #include #include +#include namespace MesonProjectManager::Internal { class InfoParser { - static inline MesonInfo load_info(const QJsonObject &obj) + static inline QVersionNumber load_info(const QJsonObject &obj) { - MesonInfo info; - auto v = obj["meson_version"].toObject(); - info.mesonVersion = {v["major"].toInt(), v["minor"].toInt(), v["patch"].toInt()}; - return info; + auto version = obj["meson_version"].toObject(); + return {version["major"].toInt(), version["minor"].toInt(), version["patch"].toInt()}; } - MesonInfo m_info; + QVersionNumber m_info; public: InfoParser(const Utils::FilePath &buildDir) @@ -35,7 +33,7 @@ public: m_info = load_info(*obj); } - MesonInfo info() { return m_info; } + QVersionNumber info() { return m_info; } }; } // namespace MesonProjectManager::Internal diff --git a/src/plugins/mesonprojectmanager/mesoninfo.h b/src/plugins/mesonprojectmanager/mesoninfo.h deleted file mode 100644 index 4ad67739ab5..00000000000 --- a/src/plugins/mesonprojectmanager/mesoninfo.h +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright (C) 2020 Alexis Jeandet. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 - -#pragma once - -#include - -namespace MesonProjectManager { -namespace Internal { - -struct MesonInfo -{ - QVersionNumber mesonVersion; -}; - -} // namespace Internal -} // namespace MesonProjectManager diff --git a/src/plugins/mesonprojectmanager/mesoninfoparser.h b/src/plugins/mesonprojectmanager/mesoninfoparser.h index af5f13a2a51..bb1a6ec41e4 100644 --- a/src/plugins/mesonprojectmanager/mesoninfoparser.h +++ b/src/plugins/mesonprojectmanager/mesoninfoparser.h @@ -6,7 +6,6 @@ #include "buildoptions.h" #include "buildoptionsparser.h" #include "infoparser.h" -#include "mesoninfo.h" #include "target.h" #include @@ -123,7 +122,7 @@ struct Result TargetsList targets; BuildOptionsList buildOptions; Utils::FilePaths buildSystemFiles; - std::optional mesonInfo; + std::optional mesonInfo; }; inline Result parse(const Utils::FilePath &buildDir) @@ -155,7 +154,7 @@ inline Result parse(QIODevice *introFile) return {}; } -inline std::optional mesonInfo(const Utils::FilePath &buildDir) +inline std::optional mesonInfo(const Utils::FilePath &buildDir) { return InfoParser{buildDir}.info(); } diff --git a/src/plugins/mesonprojectmanager/mesonprojectmanager.qbs b/src/plugins/mesonprojectmanager/mesonprojectmanager.qbs index 79fdcc6e917..46864a9fb7e 100644 --- a/src/plugins/mesonprojectmanager/mesonprojectmanager.qbs +++ b/src/plugins/mesonprojectmanager/mesonprojectmanager.qbs @@ -24,7 +24,6 @@ Project { "mesonactionsmanager.cpp", "mesonactionsmanager.h", "buildoptions.h", - "mesoninfo.h", "mesoninfoparser.h", "buildoptionsparser.h", "common.h", diff --git a/src/plugins/mesonprojectmanager/mesonprojectparser.cpp b/src/plugins/mesonprojectmanager/mesonprojectparser.cpp index 220bbd82dac..06ff453ebd3 100644 --- a/src/plugins/mesonprojectmanager/mesonprojectparser.cpp +++ b/src/plugins/mesonprojectmanager/mesonprojectparser.cpp @@ -311,7 +311,7 @@ bool MesonProjectParser::usesSameMesonVersion(const FilePath &buildPath) { auto info = MesonInfoParser::mesonInfo(buildPath); auto meson = MesonTools::toolById(m_meson, ToolType::Meson); - return info && meson && info->mesonVersion == meson->version(); + return info && meson && *info == meson->version(); } bool MesonProjectParser::run(const Command &command,