Commit 7928df08 authored by Ken Martin's avatar Ken Martin
Browse files

updated for changes in Depend Calcs

parent 65032b81
......@@ -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;
......
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