ENH: Enable capture of output from VCExpress.exe and devenv.exe.
This commit is contained in:
parent
79b7e0c37c
commit
f2cf7e9197
|
@ -255,6 +255,9 @@ cmCTest::cmCTest()
|
|||
{
|
||||
it->second->SetCTestInstance(this);
|
||||
}
|
||||
|
||||
// Make sure we can capture the build tool output.
|
||||
cmSystemTools::EnableVSConsoleOutput();
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
|
|
@ -1266,6 +1266,20 @@ bool cmSystemTools::PutEnv(const char* value)
|
|||
return ret == 0;
|
||||
}
|
||||
|
||||
void cmSystemTools::EnableVSConsoleOutput()
|
||||
{
|
||||
// Visual Studio 8 2005 (devenv.exe or VCExpress.exe) will not
|
||||
// display output to the console unless this environment variable is
|
||||
// set. We need it to capture the output of these build tools.
|
||||
// Note for future work that one could pass "/out \\.\pipe\NAME" to
|
||||
// either of these executables where NAME is created with
|
||||
// CreateNamedPipe. This would bypass the internal buffering of the
|
||||
// output and allow it to be captured on the fly.
|
||||
#ifdef _WIN32
|
||||
cmSystemTools::PutEnv("vsconsoleoutput=1");
|
||||
#endif
|
||||
}
|
||||
|
||||
std::string cmSystemTools::MakeXMLSafe(const char* str)
|
||||
{
|
||||
std::vector<char> result;
|
||||
|
|
|
@ -291,6 +291,9 @@ public:
|
|||
of the form var=value */
|
||||
static bool PutEnv(const char* value);
|
||||
|
||||
/** Setup the environment to enable VS 8 IDE output. */
|
||||
static void EnableVSConsoleOutput();
|
||||
|
||||
/** Make string XML safe */
|
||||
static std::string MakeXMLSafe(const char* str);
|
||||
|
||||
|
|
|
@ -148,6 +148,8 @@ cmake::cmake()
|
|||
this->AddDefaultGenerators();
|
||||
this->AddDefaultCommands();
|
||||
|
||||
// Make sure we can capture the build tool output.
|
||||
cmSystemTools::EnableVSConsoleOutput();
|
||||
}
|
||||
|
||||
cmake::~cmake()
|
||||
|
|
Loading…
Reference in New Issue