BUG: fix problem with stdout and stderr not showing up in ms dos shells

This commit is contained in:
Bill Hoffman 2007-09-25 10:57:49 -04:00
parent 80e0dd8c05
commit 9c3ffe2474
1 changed files with 11 additions and 1 deletions

View File

@ -1979,7 +1979,17 @@ int cmSystemTools::WaitForLine(cmsysProcess* process, std::string& line,
void cmSystemTools::DoNotInheritStdPipes()
{
#ifdef _WIN32
#ifdef _WIN32
// Check to see if we are attached to a console
// if so, then do not stop the inherited pipes
// or stdout and stderr will not show up in dos
// shell windows
CONSOLE_SCREEN_BUFFER_INFO hOutInfo;
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
if(GetConsoleScreenBufferInfo(hOut, &hOutInfo))
{
return;
}
{
HANDLE out = GetStdHandle(STD_OUTPUT_HANDLE);
DuplicateHandle(GetCurrentProcess(), out,