cmSystemTools: Add env argument to RunSingleCommand

This commit is contained in:
Daniel Pfeifer
2026-03-09 10:23:56 +01:00
parent 14edb7097f
commit bf071f85fe
2 changed files with 5 additions and 2 deletions

View File

@@ -847,10 +847,12 @@ bool cmSystemTools::RunSingleCommand(std::vector<std::string> const& command,
std::string* captureStdOut,
std::string* captureStdErr, int* retVal,
char const* dir, OutputOption outputflag,
cmDuration timeout, Encoding encoding)
cmDuration timeout, Encoding encoding,
std::vector<std::string> env)
{
cmUVProcessChainBuilder builder;
builder.SetExternalStream(cmUVProcessChainBuilder::Stream_INPUT, stdin)
.SetEnvironment(std::move(env))
.AddCommand(command);
if (dir) {
builder.SetWorkingDirectory(dir);

View File

@@ -293,7 +293,8 @@ public:
char const* dir = nullptr,
OutputOption outputflag = OUTPUT_MERGE,
cmDuration timeout = cmDuration::zero(),
Encoding encoding = cmProcessOutput::Auto);
Encoding encoding = cmProcessOutput::Auto,
std::vector<std::string> env = {});
static std::string PrintSingleCommand(std::vector<std::string> const&);