// 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::Internal { enum class MesonBuildType { plain, debug, debugoptimized, release, minsize, custom }; class MesonBuildSystem; class MesonBuildConfiguration final : public ProjectExplorer::BuildConfiguration { Q_OBJECT public: MesonBuildConfiguration(ProjectExplorer::Target *target, Utils::Id id); ~MesonBuildConfiguration() final; ProjectExplorer::BuildSystem *buildSystem() const final; void build(const QString &target); QStringList mesonConfigArgs(); const QString ¶meters() const; void setParameters(const QString ¶ms); signals: void parametersChanged(); private: void toMap(Utils::Store &map) const override; void fromMap(const Utils::Store &map) override; MesonBuildType m_buildType; ProjectExplorer::NamedWidget *createConfigWidget() final; MesonBuildSystem *m_buildSystem = nullptr; QString m_parameters; }; void setupMesonBuildConfiguration(); } // MesonProjectManager::Internal