From 48b74fd034c3acc27b96957d552715697156655c Mon Sep 17 00:00:00 2001
From: Bill Hoffman <bill.hoffman@kitware.com>
Date: Wed, 23 Oct 2002 16:57:21 -0400
Subject: ENH: if output variable turn verbose off

---
 Source/cmExecProgramCommand.cxx | 11 +++++++++--
 Source/cmExecProgramCommand.h   |  6 ++++--
 2 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/Source/cmExecProgramCommand.cxx b/Source/cmExecProgramCommand.cxx
index 6ff22e9..03a0af0 100644
--- a/Source/cmExecProgramCommand.cxx
+++ b/Source/cmExecProgramCommand.cxx
@@ -49,6 +49,7 @@ bool cmExecProgramCommand::InitialPass(std::vector<std::string> const& args)
         return false;
         }
       output_variable = args[i];
+      haveoutput_variable = false;
       count ++;
       }
     else if(args[i] == "RETURN_VALUE")
@@ -66,6 +67,7 @@ bool cmExecProgramCommand::InitialPass(std::vector<std::string> const& args)
         return false;
         }
       return_variable = args[i];
+      havereturn_variable = false;
       count ++;
       }
     else if(args[i] == "ARGS")
@@ -94,17 +96,22 @@ bool cmExecProgramCommand::InitialPass(std::vector<std::string> const& args)
     {
     command = args[0];
     }
+  bool verbose = true;
+  if(output_variable.size() > 0)
+    {
+    verbose = false;
+    }
   int retVal = 0;
   std::string output;
   if(args.size() - count == 2)
     {
     cmSystemTools::MakeDirectory(args[1].c_str());
     cmSystemTools::RunCommand(command.c_str(), output, retVal,
-                              cmSystemTools::ConvertToOutputPath(args[1].c_str()).c_str());
+                              cmSystemTools::ConvertToOutputPath(args[1].c_str()).c_str(), verbose);
     }
   else
     {
-    cmSystemTools::RunCommand(command.c_str(), output, retVal);
+    cmSystemTools::RunCommand(command.c_str(), output, retVal, 0, verbose);
     }
 
   if ( output_variable.size() > 0 )
diff --git a/Source/cmExecProgramCommand.h b/Source/cmExecProgramCommand.h
index 846f2e7..a039add 100644
--- a/Source/cmExecProgramCommand.h
+++ b/Source/cmExecProgramCommand.h
@@ -69,8 +69,10 @@ public:
       "can include arguments if it is double quoted, but it is better to use the "
       "optional ARGS argument to specify arguments to the program.   This is because "
       "cmake will then be able to escape spaces in the Executable path.  An optiona "
-      "argument OUPUT_VARIABLE specifies a variable to which the output will be set. "
-      "To capture the return value of the execution, use RETURN_VALUE variable.";
+      "argument OUTPUT_VARIABLE specifies a variable to which the output will be set. "
+      "To capture the return value of the execution, use RETURN_VALUE variable. "
+      "If OUTPUT_VARIABLE is specified, then no output will go to the stdout/stderr "
+      "of the console running cmake.";
     }
   
   cmTypeMacro(cmExecProgramCommand, cmCommand);
-- 
cgit v0.12