summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/cmExecProgramCommand.cxx11
-rw-r--r--Source/cmExecProgramCommand.h6
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);