File indexing completed on 2024-05-05 16:46:01

0001 /*
0002     SPDX-FileCopyrightText: 2018 Daniel Mensinger <daniel@mensinger-ka.de>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include <outputview/outputexecutejob.h>
0010 
0011 namespace Meson
0012 {
0013 struct BuildDir;
0014 }
0015 
0016 namespace KDevelop
0017 {
0018 class IProject;
0019 }
0020 
0021 class MesonJob : public KDevelop::OutputExecuteJob
0022 {
0023     Q_OBJECT
0024 public:
0025     enum CommandType { CONFIGURE, RE_CONFIGURE, SET_CONFIG };
0026 
0027 public:
0028     MesonJob(const Meson::BuildDir& buildDir, KDevelop::IProject* project, CommandType commandType,
0029              const QStringList& arguments, QObject* parent);
0030 
0031     QUrl workingDirectory() const override;
0032 
0033 private:
0034     KDevelop::IProject* m_project = nullptr;
0035     CommandType m_commandType;
0036     QStringList m_arguments;
0037 };