summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Cedilnik <andy.cedilnik@kitware.com>2004-04-26 15:23:06 (GMT)
committerAndy Cedilnik <andy.cedilnik@kitware.com>2004-04-26 15:23:06 (GMT)
commit34115a5989b2f00a80fd96b153b91d55c01dac5b (patch)
treed1079fc68c700e621c0e91f3f2d7cb90d9e2936d
parentc63c23a61759b178c04ac1c492beff131be9d41b (diff)
downloadCMake-34115a5989b2f00a80fd96b153b91d55c01dac5b.zip
CMake-34115a5989b2f00a80fd96b153b91d55c01dac5b.tar.gz
CMake-34115a5989b2f00a80fd96b153b91d55c01dac5b.tar.bz2
BUG: Fix resolving of infinite loops while CMakeSetup/ccmake still running
-rw-r--r--Source/cmake.cxx7
-rw-r--r--Source/cmake.h1
2 files changed, 8 insertions, 0 deletions
diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index a49559b..121e0df 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -1065,6 +1065,8 @@ int cmake::Configure()
m_GlobalGenerator->ClearEnabledLanguages();
}
+ this->CleanupWrittenFiles();
+
// actually do the configure
m_GlobalGenerator->Configure();
@@ -1426,3 +1428,8 @@ bool cmake::HasWrittenFile(const char* file)
{
return m_WrittenFiles.find(file) != m_WrittenFiles.end();
}
+
+void cmake::CleanupWrittenFiles()
+{
+ m_WrittenFiles.clear();
+}
diff --git a/Source/cmake.h b/Source/cmake.h
index dc79604..ccca7bd 100644
--- a/Source/cmake.h
+++ b/Source/cmake.h
@@ -261,6 +261,7 @@ class cmake
///! Get the list of files written by CMake using FILE(WRITE / WRITE_FILE
void AddWrittenFile(const char* file);
bool HasWrittenFile(const char* file);
+ void CleanupWrittenFiles();
protected:
typedef cmGlobalGenerator* (*CreateGeneratorFunctionType)();