diff --git a/Source/cmake.cxx b/Source/cmake.cxx index a49559bff..121e0dfb1 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 dc7960472..ccca7bd9b 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)();