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
|
||||
std::string dir = targetDir;
|
||||
|
||||
// Open the rule file. This should be copy-if-different because the
|
||||
// rules may depend on this file itself.
|
||||
// Open the make depends file. This should be copy-if-different
|
||||
// because the make tool may try to reload it needlessly otherwise.
|
||||
std::string ruleFileNameFull = dir;
|
||||
ruleFileNameFull += "/depend.make";
|
||||
cmGeneratedFileStream ruleFileStream(ruleFileNameFull.c_str());
|
||||
|
@ -1448,11 +1448,14 @@ cmLocalUnixMakefileGenerator3
|
|||
{
|
||||
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;
|
||||
internalRuleFileNameFull += "/depend.internal";
|
||||
cmGeneratedFileStream
|
||||
internalRuleFileStream(internalRuleFileNameFull.c_str());
|
||||
internalRuleFileStream.SetCopyIfDifferent(true);
|
||||
if(!internalRuleFileStream)
|
||||
{
|
||||
return false;
|
||||
|
|
Loading…
Reference in New Issue