diff options
author | Brad King <brad.king@kitware.com> | 2008-05-07 21:25:05 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2008-05-07 21:25:05 (GMT) |
commit | 55606b155e03a452f59922725019299921688181 (patch) | |
tree | 155c8109b6c6b9fcdb8fa8358e0d15c3cbe3e2a4 /Source/cmLocalUnixMakefileGenerator3.cxx | |
parent | 2a53075ed823976c3b3b9f87ee7758145babc38e (diff) | |
download | CMake-55606b155e03a452f59922725019299921688181.zip CMake-55606b155e03a452f59922725019299921688181.tar.gz CMake-55606b155e03a452f59922725019299921688181.tar.bz2 |
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
Diffstat (limited to 'Source/cmLocalUnixMakefileGenerator3.cxx')
-rw-r--r-- | Source/cmLocalUnixMakefileGenerator3.cxx | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx index c4f7d0e..441f0fe 100644 --- a/Source/cmLocalUnixMakefileGenerator3.cxx +++ b/Source/cmLocalUnixMakefileGenerator3.cxx @@ -1437,9 +1437,9 @@ 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 + cmGeneratedFileStream internalRuleFileStream(internalRuleFileNameFull.c_str()); - internalRuleFileStream.SetCopyIfDifferent(true); if(!internalRuleFileStream) { return false; |