diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx index 21b6b1eb77..d4a73e96b3 100644 --- a/Source/cmSystemTools.cxx +++ b/Source/cmSystemTools.cxx @@ -847,10 +847,12 @@ bool cmSystemTools::RunSingleCommand(std::vector 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 env) { cmUVProcessChainBuilder builder; builder.SetExternalStream(cmUVProcessChainBuilder::Stream_INPUT, stdin) + .SetEnvironment(std::move(env)) .AddCommand(command); if (dir) { builder.SetWorkingDirectory(dir); diff --git a/Source/cmSystemTools.h b/Source/cmSystemTools.h index c28a0b2516..231342f3b6 100644 --- a/Source/cmSystemTools.h +++ b/Source/cmSystemTools.h @@ -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 env = {}); static std::string PrintSingleCommand(std::vector const&);