diff options
-rw-r--r-- | Source/cmExecProgramCommand.cxx | 11 | ||||
-rw-r--r-- | 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); |