Commit 48b74fd0 authored by Bill Hoffman's avatar Bill Hoffman
Browse files

ENH: if output variable turn verbose off

parent fa782867
...@@ -49,6 +49,7 @@ bool cmExecProgramCommand::InitialPass(std::vector<std::string> const& args) ...@@ -49,6 +49,7 @@ bool cmExecProgramCommand::InitialPass(std::vector<std::string> const& args)
return false; return false;
} }
output_variable = args[i]; output_variable = args[i];
haveoutput_variable = false;
count ++; count ++;
} }
else if(args[i] == "RETURN_VALUE") else if(args[i] == "RETURN_VALUE")
...@@ -66,6 +67,7 @@ bool cmExecProgramCommand::InitialPass(std::vector<std::string> const& args) ...@@ -66,6 +67,7 @@ bool cmExecProgramCommand::InitialPass(std::vector<std::string> const& args)
return false; return false;
} }
return_variable = args[i]; return_variable = args[i];
havereturn_variable = false;
count ++; count ++;
} }
else if(args[i] == "ARGS") else if(args[i] == "ARGS")
...@@ -94,17 +96,22 @@ bool cmExecProgramCommand::InitialPass(std::vector<std::string> const& args) ...@@ -94,17 +96,22 @@ bool cmExecProgramCommand::InitialPass(std::vector<std::string> const& args)
{ {
command = args[0]; command = args[0];
} }
bool verbose = true;
if(output_variable.size() > 0)
{
verbose = false;
}
int retVal = 0; int retVal = 0;
std::string output; std::string output;
if(args.size() - count == 2) if(args.size() - count == 2)
{ {
cmSystemTools::MakeDirectory(args[1].c_str()); cmSystemTools::MakeDirectory(args[1].c_str());
cmSystemTools::RunCommand(command.c_str(), output, retVal, 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 else
{ {
cmSystemTools::RunCommand(command.c_str(), output, retVal); cmSystemTools::RunCommand(command.c_str(), output, retVal, 0, verbose);
} }
if ( output_variable.size() > 0 ) if ( output_variable.size() > 0 )
......
...@@ -69,8 +69,10 @@ public: ...@@ -69,8 +69,10 @@ public:
"can include arguments if it is double quoted, but it is better to use the " "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 " "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 " "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. " "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."; "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); cmTypeMacro(cmExecProgramCommand, cmCommand);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment