File indexing completed on 2024-05-05 04:40:08
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 };