Files
qt-creator/src/plugins/mesonprojectmanager/mesonbuildconfiguration.h
hjk 9a44a543a5 Meson: Use setup functions for a few plugin items
Change-Id: I849698315cd8c03ab44317d90dd3754dcfe46146
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2024-01-30 08:00:30 +00:00

45 lines
1.2 KiB
C++

// 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 <projectexplorer/buildconfiguration.h>
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 &parameters() const;
void setParameters(const QString &params);
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