summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalUnixMakefileGenerator3.h
diff options
context:
space:
mode:
authorAlexander Neundorf <neundorf@kde.org>2009-09-23 18:02:05 (GMT)
committerAlexander Neundorf <neundorf@kde.org>2009-09-23 18:02:05 (GMT)
commit39383ef8cb691656012275721064baef1e4f7511 (patch)
tree8d16274bd2092a6abe925bc7756c8a23594fd4b6 /Source/cmLocalUnixMakefileGenerator3.h
parent551fcc23c220fd75eaeea7671f28e8360e466b75 (diff)
downloadCMake-39383ef8cb691656012275721064baef1e4f7511.zip
CMake-39383ef8cb691656012275721064baef1e4f7511.tar.gz
CMake-39383ef8cb691656012275721064baef1e4f7511.tar.bz2
Major optimization of C/C++ dependency scanning.
Now only the dependencies for the file where the dependencies actually may have changed are rescanned, before that this was done for all source files even if only one source file had changed. This reduces e.g. on my machine the time for scanning the dependencies of kdelibs/khtml/ when only one file (khtml_global.cpp) has changed from around 7.5 seconds to 1.2 seconds. The tests succeed, it does what I expected it to do on kdelibs, and Brad also reviewed the patch, so I think it should be ok. Alex
Diffstat (limited to 'Source/cmLocalUnixMakefileGenerator3.h')
-rw-r--r--Source/cmLocalUnixMakefileGenerator3.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/Source/cmLocalUnixMakefileGenerator3.h b/Source/cmLocalUnixMakefileGenerator3.h
index ce6b45f..3a35191 100644
--- a/Source/cmLocalUnixMakefileGenerator3.h
+++ b/Source/cmLocalUnixMakefileGenerator3.h
@@ -19,6 +19,9 @@
#include "cmLocalGenerator.h"
+// for cmDepends::DependencyVector
+#include "cmDepends.h"
+
class cmCustomCommand;
class cmDependInformation;
class cmDepends;
@@ -343,7 +346,8 @@ protected:
cmTarget& target, const char* filename =0);
// Helper methods for dependeny updates.
- bool ScanDependencies(const char* targetDir);
+ bool ScanDependencies(const char* targetDir,
+ std::map<std::string, cmDepends::DependencyVector>& validDeps);
void CheckMultipleOutputs(bool verbose);
private: