ENH: add test to make sure custom commands are used
This commit is contained in:
parent
43e1e82fc6
commit
b25dea9f11
|
@ -19,6 +19,7 @@
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
cmCustomCommand::cmCustomCommand()
|
cmCustomCommand::cmCustomCommand()
|
||||||
{
|
{
|
||||||
|
m_Used = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
|
@ -28,6 +29,7 @@ cmCustomCommand::cmCustomCommand(const cmCustomCommand& r):
|
||||||
m_CommandLines(r.m_CommandLines),
|
m_CommandLines(r.m_CommandLines),
|
||||||
m_Comment(r.m_Comment)
|
m_Comment(r.m_Comment)
|
||||||
{
|
{
|
||||||
|
m_Used = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
|
@ -40,6 +42,7 @@ cmCustomCommand::cmCustomCommand(const char* output,
|
||||||
m_CommandLines(commandLines),
|
m_CommandLines(commandLines),
|
||||||
m_Comment(comment?comment:"")
|
m_Comment(comment?comment:"")
|
||||||
{
|
{
|
||||||
|
m_Used = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
|
|
|
@ -49,11 +49,16 @@ public:
|
||||||
/** Get the comment string for the command. */
|
/** Get the comment string for the command. */
|
||||||
const char* GetComment() const;
|
const char* GetComment() const;
|
||||||
|
|
||||||
|
/** set get the used status of the command */
|
||||||
|
void Used() { m_Used = true;};
|
||||||
|
bool IsUsed() { return m_Used;};
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::string m_Output;
|
std::string m_Output;
|
||||||
std::vector<std::string> m_Depends;
|
std::vector<std::string> m_Depends;
|
||||||
cmCustomCommandLines m_CommandLines;
|
cmCustomCommandLines m_CommandLines;
|
||||||
std::string m_Comment;
|
std::string m_Comment;
|
||||||
|
bool m_Used;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -92,6 +92,22 @@ void cmLocalUnixMakefileGenerator3::Generate()
|
||||||
|
|
||||||
// Write the cmake file with information for this directory.
|
// Write the cmake file with information for this directory.
|
||||||
this->WriteDirectoryInformationFile();
|
this->WriteDirectoryInformationFile();
|
||||||
|
|
||||||
|
// all custom commands used?
|
||||||
|
const std::vector<cmSourceFile*> &srcs = m_Makefile->GetSourceFiles();
|
||||||
|
std::vector<cmSourceFile*>::const_iterator sit = srcs.begin();
|
||||||
|
for (;sit != srcs.end(); ++sit)
|
||||||
|
{
|
||||||
|
if ((*sit)->GetCustomCommand() && !(*sit)->GetCustomCommand()->IsUsed())
|
||||||
|
{
|
||||||
|
cmOStringStream err;
|
||||||
|
err << "Warning: Custom command for source file "
|
||||||
|
<< (*sit)->GetSourceName().c_str() << "."
|
||||||
|
<< (*sit)->GetSourceExtension().c_str()
|
||||||
|
<< " was not used.";
|
||||||
|
cmSystemTools::Message(err.str().c_str(), "Warning");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -162,8 +178,9 @@ void cmLocalUnixMakefileGenerator3
|
||||||
for(std::vector<cmSourceFile*>::const_iterator i = classes.begin();
|
for(std::vector<cmSourceFile*>::const_iterator i = classes.begin();
|
||||||
i != classes.end(); i++)
|
i != classes.end(); i++)
|
||||||
{
|
{
|
||||||
if(const cmCustomCommand* cc = (*i)->GetCustomCommand())
|
if(cmCustomCommand* cc = (*i)->GetCustomCommand())
|
||||||
{
|
{
|
||||||
|
cc->Used();
|
||||||
objTarget = this->GenerateCustomRuleFile(*cc,tgtDir.c_str());
|
objTarget = this->GenerateCustomRuleFile(*cc,tgtDir.c_str());
|
||||||
if (clean)
|
if (clean)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue