BUG: Fix repeated re-scanning of dependencies when the results do not change.
- We re-scan deps when DependInfo.cmake is newer than depend.internal - Therefore depend.internal should not be copy-if-different
This commit is contained in:
parent
2a53075ed8
commit
55606b155e
|
@ -1438,8 +1438,8 @@ cmLocalUnixMakefileGenerator3
|
||||||
// create the file stream for the depends file
|
// create the file stream for the depends file
|
||||||
std::string dir = targetDir;
|
std::string dir = targetDir;
|
||||||
|
|
||||||
// Open the rule file. This should be copy-if-different because the
|
// Open the make depends file. This should be copy-if-different
|
||||||
// rules may depend on this file itself.
|
// because the make tool may try to reload it needlessly otherwise.
|
||||||
std::string ruleFileNameFull = dir;
|
std::string ruleFileNameFull = dir;
|
||||||
ruleFileNameFull += "/depend.make";
|
ruleFileNameFull += "/depend.make";
|
||||||
cmGeneratedFileStream ruleFileStream(ruleFileNameFull.c_str());
|
cmGeneratedFileStream ruleFileStream(ruleFileNameFull.c_str());
|
||||||
|
@ -1448,11 +1448,14 @@ cmLocalUnixMakefileGenerator3
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Open the cmake dependency tracking file. This should not be
|
||||||
|
// copy-if-different because dependencies are re-scanned when it is
|
||||||
|
// older than the DependInfo.cmake.
|
||||||
std::string internalRuleFileNameFull = dir;
|
std::string internalRuleFileNameFull = dir;
|
||||||
internalRuleFileNameFull += "/depend.internal";
|
internalRuleFileNameFull += "/depend.internal";
|
||||||
cmGeneratedFileStream
|
cmGeneratedFileStream
|
||||||
internalRuleFileStream(internalRuleFileNameFull.c_str());
|
internalRuleFileStream(internalRuleFileNameFull.c_str());
|
||||||
internalRuleFileStream.SetCopyIfDifferent(true);
|
|
||||||
if(!internalRuleFileStream)
|
if(!internalRuleFileStream)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
|
|
Loading…
Reference in New Issue