ENH: Make dir content cache work during configure

Previously the cmGlobalGenerator::GetDirectoryContent method would work
safely only during build system generation.  These changes make it safe
to use during each configure step by flushing it at the beginning.
This commit is contained in:
Brad King 2008-09-22 10:56:48 -04:00
parent 924fae24cf
commit 4719984553
2 changed files with 6 additions and 5 deletions

View File

@ -731,6 +731,7 @@ void cmGlobalGenerator::Configure()
this->LocalGeneratorToTargetMap.clear();
this->ProjectMap.clear();
this->RuleHashes.clear();
this->DirectoryContentMap.clear();
// start with this directory
cmLocalGenerator *lg = this->CreateLocalGenerator();

View File

@ -213,12 +213,12 @@ public:
configuration. This is valid during generation only. */
cmTargetManifest const& GetTargetManifest() { return this->TargetManifest; }
/** Get the content of a directory on disk including the target
files to be generated. This may be called only during the
generation step. It is intended for use only by
cmComputeLinkInformation. */
/** Get the content of a directory. Directory listings are loaded
from disk at most once and cached. During the generation step
the content will include the target files to be built even if
they do not yet exist. */
std::set<cmStdString> const& GetDirectoryContent(std::string const& dir,
bool needDisk);
bool needDisk = true);
void AddTarget(cmTargets::value_type &v);