ENH: new fortran depends to match new Unix Gen
This commit is contained in:
parent
193747256b
commit
0e194cab84
|
@ -140,12 +140,14 @@ bool cmDependsFortran::WriteDependencies(std::ostream& os)
|
||||||
// Require only modules not provided in the same source.
|
// Require only modules not provided in the same source.
|
||||||
if(parser.Provides.find(*i) == parser.Provides.end())
|
if(parser.Provides.find(*i) == parser.Provides.end())
|
||||||
{
|
{
|
||||||
|
// since we require some things add them to our list of requirements
|
||||||
|
os << m_TargetFile.c_str() << ".requires: " << i->c_str() << ".mod.proxy"
|
||||||
|
<< std::endl;
|
||||||
|
#if 0
|
||||||
// Always use lower case for the mod stamp file name.
|
// Always use lower case for the mod stamp file name.
|
||||||
std::string m = cmSystemTools::LowerCase(*i);
|
std::string m = cmSystemTools::LowerCase(*i);
|
||||||
os << m_TargetFile.c_str() << ": " << m.c_str() << ".mod.stamp"
|
os << m_TargetFile.c_str() << ": " << m.c_str() << ".mod.stamp"
|
||||||
<< std::endl;
|
<< std::endl;
|
||||||
os << m_TargetFile.c_str() << ".requires: " << i->c_str() << ".mod.proxy"
|
|
||||||
<< std::endl;
|
|
||||||
os << i->c_str() << ".mod.proxy:" << std::endl;
|
os << i->c_str() << ".mod.proxy:" << std::endl;
|
||||||
std::string stampName = m_Directory;
|
std::string stampName = m_Directory;
|
||||||
stampName += "/";
|
stampName += "/";
|
||||||
|
@ -157,6 +159,7 @@ bool cmDependsFortran::WriteDependencies(std::ostream& os)
|
||||||
stamp << "# Dummy stamp file in case nothing provides it."
|
stamp << "# Dummy stamp file in case nothing provides it."
|
||||||
<< std::endl;
|
<< std::endl;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -165,13 +168,13 @@ bool cmDependsFortran::WriteDependencies(std::ostream& os)
|
||||||
i != parser.Provides.end(); ++i)
|
i != parser.Provides.end(); ++i)
|
||||||
{
|
{
|
||||||
os << i->c_str() << ".mod.proxy: " << m_TargetFile.c_str()
|
os << i->c_str() << ".mod.proxy: " << m_TargetFile.c_str()
|
||||||
<< ".requires" << std::endl;
|
<< ".provides" << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If any modules are provided then they must be converted to stamp files.
|
// If any modules are provided then they must be converted to stamp files.
|
||||||
if(!parser.Provides.empty())
|
if(!parser.Provides.empty())
|
||||||
{
|
{
|
||||||
os << m_TargetFile.c_str() << ".provides:\n";
|
os << m_TargetFile.c_str() << ".provides.build:\n";
|
||||||
for(std::set<cmStdString>::const_iterator i = parser.Provides.begin();
|
for(std::set<cmStdString>::const_iterator i = parser.Provides.begin();
|
||||||
i != parser.Provides.end(); ++i)
|
i != parser.Provides.end(); ++i)
|
||||||
{
|
{
|
||||||
|
@ -182,9 +185,10 @@ bool cmDependsFortran::WriteDependencies(std::ostream& os)
|
||||||
os << "\t$(CMAKE_COMMAND) -E cmake_copy_f90_mod "
|
os << "\t$(CMAKE_COMMAND) -E cmake_copy_f90_mod "
|
||||||
<< i->c_str() << " " << m.c_str() << ".mod.stamp\n";
|
<< i->c_str() << " " << m.c_str() << ".mod.stamp\n";
|
||||||
}
|
}
|
||||||
os << "\t@touch " << m_TargetFile.c_str() << ".provides\n";
|
os << "\t@touch " << m_TargetFile.c_str() << ".provides.build\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
// if it provides something then connect the requires rule to the build rule
|
// if it provides something then connect the requires rule to the build rule
|
||||||
if(!parser.Provides.empty())
|
if(!parser.Provides.empty())
|
||||||
{
|
{
|
||||||
|
@ -193,6 +197,7 @@ bool cmDependsFortran::WriteDependencies(std::ostream& os)
|
||||||
// provide empty build rule for old gen for now, TODO remove later
|
// provide empty build rule for old gen for now, TODO remove later
|
||||||
os << m_TargetFile.c_str() << ".requires.build:" << std::endl;
|
os << m_TargetFile.c_str() << ".requires.build:" << std::endl;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
// TODO:
|
// TODO:
|
||||||
|
|
Loading…
Reference in New Issue