Meson: Reuse ProcessRunData instead of self-made Command struct

Change-Id: Ie4a989976e3684b0931d5cdb49fbc06b76ebcb67
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Jarek Kobus
2024-07-25 08:41:39 +02:00
parent 0984b7b0c8
commit 24dab04a33
7 changed files with 58 additions and 63 deletions

View File

@@ -8,6 +8,7 @@
#include <utils/algorithm.h>
#include <utils/environment.h>
#include <utils/fileutils.h>
#include <utils/processinterface.h>
#include <utils/qtcassert.h>
#include <utils/qtcprocess.h>
@@ -123,17 +124,17 @@ QStringList options_cat(const T &...args)
return result;
}
Command ToolWrapper::setup(const FilePath &sourceDirectory,
const FilePath &buildDirectory,
const QStringList &options) const
ProcessRunData ToolWrapper::setup(const FilePath &sourceDirectory,
const FilePath &buildDirectory,
const QStringList &options) const
{
return {{m_exe, options_cat("setup", options, sourceDirectory.path(), buildDirectory.path())},
sourceDirectory};
}
Command ToolWrapper::configure(const FilePath &sourceDirectory,
const FilePath &buildDirectory,
const QStringList &options) const
ProcessRunData ToolWrapper::configure(const FilePath &sourceDirectory,
const FilePath &buildDirectory,
const QStringList &options) const
{
if (!isSetup(buildDirectory))
return setup(sourceDirectory, buildDirectory, options);
@@ -141,8 +142,8 @@ Command ToolWrapper::configure(const FilePath &sourceDirectory,
buildDirectory};
}
Command ToolWrapper::regenerate(const FilePath &sourceDirectory,
const FilePath &buildDirectory) const
ProcessRunData ToolWrapper::regenerate(const FilePath &sourceDirectory,
const FilePath &buildDirectory) const
{
return {{m_exe,
options_cat("--internal",
@@ -154,7 +155,7 @@ Command ToolWrapper::regenerate(const FilePath &sourceDirectory,
buildDirectory};
}
Command ToolWrapper::introspect(const FilePath &sourceDirectory) const
ProcessRunData ToolWrapper::introspect(const FilePath &sourceDirectory) const
{
return {{m_exe,
{"introspect", "--all", QString("%1/meson.build").arg(sourceDirectory.path())}},
@@ -173,11 +174,10 @@ bool containsFiles(const QString &path, const File_t &file, const T &...files)
return containsFiles(path, file) && containsFiles(path, files...);
}
bool run_meson(const Command &command, QIODevice *output)
bool run_meson(const ProcessRunData &runData, QIODevice *output)
{
Process process;
process.setWorkingDirectory(command.workDir);
process.setCommand(command.cmdLine);
process.setRunData(runData);
process.start();
if (!process.waitForFinished())
return false;