ENH: implemented provides requires code
This commit is contained in:
parent
61358ac75c
commit
185b6f0b02
|
@ -622,17 +622,34 @@ cmLocalUnixMakefileGenerator3
|
||||||
this->WriteMakeRule(ruleFileStream, 0,
|
this->WriteMakeRule(ruleFileStream, 0,
|
||||||
objectRequires.c_str(), no_commands, no_commands);
|
objectRequires.c_str(), no_commands, no_commands);
|
||||||
|
|
||||||
|
// write a build rule to recursively build what this obj provides
|
||||||
|
std::string objectProvides = relativeObj;
|
||||||
|
objectProvides += ".provides";
|
||||||
|
std::string temp = relativeObj;
|
||||||
|
temp += ".provides.build";
|
||||||
|
std::vector<std::string> r_commands;
|
||||||
|
r_commands.push_back(this->GetRecursiveMakeCall("build.make",temp.c_str()));
|
||||||
|
std::vector<std::string> p_depends;
|
||||||
|
p_depends.push_back(objectRequires);
|
||||||
|
this->WriteMakeRule(ruleFileStream, 0,
|
||||||
|
objectProvides.c_str(), p_depends, r_commands);
|
||||||
|
|
||||||
|
// write the provides.build rule dependency on the obj file
|
||||||
|
p_depends.clear();
|
||||||
|
p_depends.push_back(relativeObj);
|
||||||
|
this->WriteMakeRule(ruleFileStream, 0,
|
||||||
|
temp.c_str(), p_depends, no_commands);
|
||||||
|
|
||||||
|
#if 0
|
||||||
if(strcmp(lang, "Fortran") == 0)
|
if(strcmp(lang, "Fortran") == 0)
|
||||||
{
|
{
|
||||||
std::string objectProvides = obj;
|
std::string objectProvides = obj;
|
||||||
objectProvides += ".provides";
|
objectProvides += ".provides";
|
||||||
{
|
|
||||||
// Add the provides target to build the object file.
|
// Add the provides target to build the object file.
|
||||||
std::vector<std::string> p_depends;
|
std::vector<std::string> p_depends;
|
||||||
p_depends.push_back(obj);
|
p_depends.push_back(obj);
|
||||||
this->WriteMakeRule(ruleFileStream, 0,
|
this->WriteMakeRule(ruleFileStream, 0,
|
||||||
objectProvides.c_str(), p_depends, no_commands);
|
objectProvides.c_str(), p_depends, no_commands);
|
||||||
}
|
|
||||||
|
|
||||||
// Add this to the set of provides-requires objects on the target.
|
// Add this to the set of provides-requires objects on the target.
|
||||||
provides_requires.push_back(objectRequires);
|
provides_requires.push_back(objectRequires);
|
||||||
|
@ -647,7 +664,7 @@ cmLocalUnixMakefileGenerator3
|
||||||
objectRequires.c_str(), no_depends, r_commands);
|
objectRequires.c_str(), no_depends, r_commands);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
|
|
Loading…
Reference in New Issue