summaryrefslogtreecommitdiffstats
path: root/Source/cmSystemTools.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2006-02-15 15:22:55 (GMT)
committerBrad King <brad.king@kitware.com>2006-02-15 15:22:55 (GMT)
commitf2cf7e91973c6275bdca98fc106d5406e23be40d (patch)
tree33aed79eda1d55da6c1dcac9ef85d205e7e850a4 /Source/cmSystemTools.cxx
parent79b7e0c37cb60a44b4311e47a1dcc575dedd5acb (diff)
downloadCMake-f2cf7e91973c6275bdca98fc106d5406e23be40d.zip
CMake-f2cf7e91973c6275bdca98fc106d5406e23be40d.tar.gz
CMake-f2cf7e91973c6275bdca98fc106d5406e23be40d.tar.bz2
ENH: Enable capture of output from VCExpress.exe and devenv.exe.
Diffstat (limited to 'Source/cmSystemTools.cxx')
-rw-r--r--Source/cmSystemTools.cxx14
1 files changed, 14 insertions, 0 deletions
diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx
index 1bee080..abe3ed6 100644
--- a/Source/cmSystemTools.cxx
+++ b/Source/cmSystemTools.cxx
@@ -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;