diff options
Diffstat (limited to 'Source/cmMakefile.h')
-rw-r--r-- | Source/cmMakefile.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h index 272522c..2cae659 100644 --- a/Source/cmMakefile.h +++ b/Source/cmMakefile.h @@ -13,6 +13,7 @@ #include <stddef.h> #include <string> #include <unordered_map> +#include <unordered_set> #include <vector> #include "cmAlgorithms.h" @@ -808,7 +809,17 @@ protected: // libraries, classes, and executables mutable cmTargets Targets; std::map<std::string, std::string> AliasTargets; + std::vector<cmSourceFile*> SourceFiles; + // Because cmSourceFile names are compared in a fuzzy way (see + // cmSourceFileLocation::Match()) we can't have a straight mapping from + // filename to cmSourceFile. To make lookups more efficient we store the + // Name portion of the cmSourceFileLocation and then compare on the list of + // cmSourceFiles that might match that name. Note that on platforms which + // have a case-insensitive filesystem we store the key in all lowercase. + typedef std::unordered_set<cmSourceFile*> SourceFileSet; + typedef std::unordered_map<std::string, SourceFileSet> SourceFileMap; + SourceFileMap SourceFileSearchIndex; // Tests std::map<std::string, cmTest*> Tests; |