Browse Source

Merge topic 'cmake--build-pipes'

bcd5de7 cmake: Always pass through stdout/stderr in --build mode
Brad King 12 years ago
parent
commit
61de941ad7
4 changed files with 8 additions and 16 deletions
  1. 1 4
      Help/manual/cmake.1.rst
  2. 3 3
      Source/cmake.cxx
  3. 1 2
      Source/cmake.h
  4. 3 7
      Source/cmakemain.cxx

+ 1 - 4
Help/manual/cmake.1.rst

@@ -58,10 +58,7 @@ native tool on their platform.
     --config <cfg> = For multi-configuration tools, choose <cfg>.
     --clean-first  = Build target 'clean' first, then build.
                      (To clean only, use --target 'clean'.)
-    --use-stderr   = Don't merge stdout/stderr output and pass the
-                     original stdout/stderr handles to the native
-                     tool so it can use the capabilities of the
-                     calling terminal (e.g. colored output).
+    --use-stderr   = Ignored.  Behavior is default in CMake >= 3.0.
     --             = Pass remaining options to the native tool.
 
   Run cmake --build with no options for quick help.

+ 3 - 3
Source/cmake.cxx

@@ -2871,8 +2871,7 @@ int cmake::Build(const std::string& dir,
                  const std::string& target,
                  const std::string& config,
                  const std::vector<std::string>& nativeOptions,
-                 bool clean,
-                 cmSystemTools::OutputOption outputflag)
+                 bool clean)
 {
   if(!cmSystemTools::FileIsDirectory(dir.c_str()))
     {
@@ -2914,7 +2913,8 @@ int cmake::Build(const std::string& dir,
                     projName.c_str(), target.c_str(),
                     &output,
                     makeProgram.c_str(),
-                    config.c_str(), clean, false, 0, outputflag,
+                    config.c_str(), clean, false, 0,
+                    cmSystemTools::OUTPUT_PASSTHROUGH,
                     0, nativeOptions);
 }
 

+ 1 - 2
Source/cmake.h

@@ -362,8 +362,7 @@ class cmake
             const std::string& target,
             const std::string& config,
             const std::vector<std::string>& nativeOptions,
-            bool clean,
-            cmSystemTools::OutputOption outputflag);
+            bool clean);
 
   void UnwatchUnusedCli(const char* var);
   void WatchUnusedCli(const char* var);

+ 3 - 7
Source/cmakemain.cxx

@@ -49,10 +49,7 @@ static const char * cmDocumentationUsage[][2] =
   "  --config <cfg> = For multi-configuration tools, choose <cfg>.\n"   \
   "  --clean-first  = Build target 'clean' first, then build.\n"        \
   "                   (To clean only, use --target 'clean'.)\n"         \
-  "  --use-stderr   = Don't merge stdout/stderr output and pass the\n"  \
-  "                   original stdout/stderr handles to the native\n"   \
-  "                   tool so it can use the capabilities of the\n"     \
-  "                   calling terminal (e.g. colored output).\n"        \
+  "  --use-stderr   = Ignored.  Behavior is default in CMake >= 3.0.\n" \
   "  --             = Pass remaining options to the native tool.\n"
 
 //----------------------------------------------------------------------------
@@ -368,7 +365,6 @@ static int do_build(int ac, char** av)
   std::string dir;
   std::vector<std::string> nativeOptions;
   bool clean = false;
-  cmSystemTools::OutputOption outputflag = cmSystemTools::OUTPUT_MERGE;
 
   enum Doing { DoingNone, DoingDir, DoingTarget, DoingConfig, DoingNative};
   Doing doing = DoingDir;
@@ -393,7 +389,7 @@ static int do_build(int ac, char** av)
       }
     else if(strcmp(av[i], "--use-stderr") == 0)
       {
-      outputflag = cmSystemTools::OUTPUT_PASSTHROUGH;
+      /* tolerate legacy option */
       }
     else if(strcmp(av[i], "--") == 0)
       {
@@ -440,6 +436,6 @@ static int do_build(int ac, char** av)
     }
 
   cmake cm;
-  return cm.Build(dir, target, config, nativeOptions, clean, outputflag);
+  return cm.Build(dir, target, config, nativeOptions, clean);
 #endif
 }