updated for changes in Depend Calcs
This commit is contained in:
parent
65032b816e
commit
7928df0817
|
@ -172,6 +172,36 @@ bool cmOutputRequiredFilesCommand::InitialPass(std::vector<std::string> const& a
|
|||
return true;
|
||||
}
|
||||
|
||||
void cmOutputRequiredFilesCommand::
|
||||
ListDependencies(cmDependInformation const *info,
|
||||
FILE *fout,
|
||||
std::set<cmDependInformation const*> *visited)
|
||||
{
|
||||
// add info to the visited set
|
||||
visited->insert(info);
|
||||
|
||||
// now recurse with info's dependencies
|
||||
for(cmDependInformation::DependencySet::const_iterator d =
|
||||
info->m_DependencySet.begin();
|
||||
d != info->m_DependencySet.end(); ++d)
|
||||
{
|
||||
if (visited->find(*d) == visited->end())
|
||||
{
|
||||
if(info->m_FullPath != "")
|
||||
{
|
||||
std::string tmp = (*d)->m_FullPath;
|
||||
std::string::size_type pos = tmp.rfind('.');
|
||||
if(pos != std::string::npos && tmp.substr(pos) == ".cxx")
|
||||
{
|
||||
tmp = tmp.substr(0, pos);
|
||||
fprintf(fout,"%s\n",(*d)->m_FullPath.c_str());
|
||||
}
|
||||
}
|
||||
this->ListDependencies(*d,fout,visited);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void cmOutputRequiredFilesCommand::FinalPass()
|
||||
{
|
||||
|
||||
|
@ -191,18 +221,8 @@ void cmOutputRequiredFilesCommand::FinalPass()
|
|||
{
|
||||
// write them out
|
||||
FILE *fout = fopen(m_OutputFile.c_str(),"w");
|
||||
for(cmDependInformation::DependencySet::const_iterator d =
|
||||
info->m_DependencySet.begin();
|
||||
d != info->m_DependencySet.end(); ++d)
|
||||
{
|
||||
std::string tmp = (*d)->m_FullPath;
|
||||
std::string::size_type pos = tmp.rfind('.');
|
||||
if(pos != std::string::npos && tmp.substr(pos) == ".cxx")
|
||||
{
|
||||
tmp = tmp.substr(0, pos);
|
||||
fprintf(fout,"%s\n",(*d)->m_FullPath.c_str());
|
||||
}
|
||||
}
|
||||
std::set<cmDependInformation const*> visited;
|
||||
this->ListDependencies(info,fout, &visited);
|
||||
fclose(fout);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -68,6 +68,10 @@ public:
|
|||
}
|
||||
|
||||
cmTypeMacro(cmOutputRequiredFilesCommand, cmCommand);
|
||||
void ListDependencies(cmDependInformation const *info,
|
||||
FILE *fout,
|
||||
std::set<cmDependInformation const*> *visited);
|
||||
|
||||
private:
|
||||
std::string m_File;
|
||||
std::string m_OutputFile;
|
||||
|
|
Loading…
Reference in New Issue