ENH: space fixes and add a status option to message command

This commit is contained in:
Ken Martin 2002-11-13 15:59:40 -05:00
parent 19b144bdbf
commit 20b7e6b222
5 changed files with 27 additions and 3 deletions

View File

@ -924,6 +924,7 @@ void cmLocalUnixMakefileGenerator::OutputExecutableRule(std::ostream& fout,
std::string flags; std::string flags;
std::string target = m_ExecutableOutputPath + name std::string target = m_ExecutableOutputPath + name
+ cmSystemTools::GetExecutableExtension(); + cmSystemTools::GetExecutableExtension();
target = cmSystemTools::ConvertToOutputPath(target.c_str());
std::string objs = "$(" + this->CreateMakeVariable(name, "_SRC_OBJS") + ") "; std::string objs = "$(" + this->CreateMakeVariable(name, "_SRC_OBJS") + ") ";
std::string depend = "$("; std::string depend = "$(";
depend += this->CreateMakeVariable(name, "_SRC_OBJS") depend += this->CreateMakeVariable(name, "_SRC_OBJS")

View File

@ -1443,3 +1443,8 @@ bool cmMakefile::GetLocal() const
{ {
return m_LocalGenerator->GetGlobalGenerator()->GetCMakeInstance()->GetLocal(); return m_LocalGenerator->GetGlobalGenerator()->GetCMakeInstance()->GetLocal();
} }
void cmMakefile::DisplayStatus(const char* message, float s)
{
this->GetLocalGenerator()->GetGlobalGenerator()
->GetCMakeInstance()->UpdateProgress(message, s);
}

View File

@ -522,6 +522,8 @@ public:
//! Determine wether this is a local or global build. //! Determine wether this is a local or global build.
bool GetLocal() const; bool GetLocal() const;
///! Display progress or status message.
void DisplayStatus(const char*, float);
protected: protected:
// add link libraries and directories to the target // add link libraries and directories to the target
void AddGlobalLinkInformation(const char* name, cmTarget& target); void AddGlobalLinkInformation(const char* name, cmTarget& target);

View File

@ -30,11 +30,20 @@ bool cmMessageCommand::InitialPass(std::vector<std::string> const& argsIn)
std::vector<std::string>::const_iterator i = args.begin(); std::vector<std::string>::const_iterator i = args.begin();
bool send_error = false; bool send_error = false;
bool status = false;
if (*i == "SEND_ERROR") if (*i == "SEND_ERROR")
{ {
send_error = true; send_error = true;
++i; ++i;
} }
else
{
if (*i == "STATUS")
{
status = true;
++i;
}
}
for(;i != args.end(); ++i) for(;i != args.end(); ++i)
{ {
@ -47,7 +56,14 @@ bool cmMessageCommand::InitialPass(std::vector<std::string> const& argsIn)
} }
else else
{ {
cmSystemTools::Message(message.c_str()); if (status)
{
m_Makefile->DisplayStatus(message.c_str(), -1);
}
else
{
cmSystemTools::Message(message.c_str());
}
} }
return true; return true;

View File

@ -60,8 +60,8 @@ public:
virtual const char* GetFullDocumentation() virtual const char* GetFullDocumentation()
{ {
return return
"MESSAGE([SEND_ERROR] \"message to display\"...)\n" "MESSAGE([SEND_ERROR | STATUS] \"message to display\"...)\n"
"The arguments are messages to display. If the first argument is SEND_ERROR then an error is raised."; "The arguments are messages to display. If the first argument is SEND_ERROR then an error is raised. If the first argument is STATUS then the message is diaplyed in the progress line for the GUI";
} }
cmTypeMacro(cmMessageCommand, cmCommand); cmTypeMacro(cmMessageCommand, cmCommand);