diff options
author | Shane Parris <shane.lee.parris@gmail.com> | 2018-08-09 16:51:29 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2018-08-09 17:03:50 (GMT) |
commit | 6f3b9e8b9506b4631b70cf506152defa8f9e54e0 (patch) | |
tree | a9ee0c547f24164c2958a4b34dab13082a8e6658 | |
parent | c4ab098097f4fe1bc85ee29c6de390dff435f63f (diff) | |
download | CMake-6f3b9e8b9506b4631b70cf506152defa8f9e54e0.zip CMake-6f3b9e8b9506b4631b70cf506152defa8f9e54e0.tar.gz CMake-6f3b9e8b9506b4631b70cf506152defa8f9e54e0.tar.bz2 |
cmState: Clear GlobVerificationManager state on Reset
It should not persist across multiple configure rounds.
Fixes: #18208
-rw-r--r-- | Source/cmGlobVerificationManager.cxx | 7 | ||||
-rw-r--r-- | Source/cmGlobVerificationManager.h | 3 | ||||
-rw-r--r-- | Source/cmState.cxx | 1 |
3 files changed, 11 insertions, 0 deletions
diff --git a/Source/cmGlobVerificationManager.cxx b/Source/cmGlobVerificationManager.cxx index e23b6ea..189b517 100644 --- a/Source/cmGlobVerificationManager.cxx +++ b/Source/cmGlobVerificationManager.cxx @@ -170,3 +170,10 @@ void cmGlobVerificationManager::AddCacheEntry( value.Backtraces.emplace_back(variable, backtrace); } } + +void cmGlobVerificationManager::Reset() +{ + this->Cache.clear(); + this->VerifyScript.clear(); + this->VerifyStamp.clear(); +} diff --git a/Source/cmGlobVerificationManager.h b/Source/cmGlobVerificationManager.h index 4508602..cf04c97 100644 --- a/Source/cmGlobVerificationManager.h +++ b/Source/cmGlobVerificationManager.h @@ -37,6 +37,9 @@ protected: const std::string& variable, const cmListFileBacktrace& bt); + ///! Clear the glob cache for state reset. + void Reset(); + ///! Check targets should be written in generated build system. bool DoWriteVerifyTarget() const; diff --git a/Source/cmState.cxx b/Source/cmState.cxx index a57be4d..b2f6091 100644 --- a/Source/cmState.cxx +++ b/Source/cmState.cxx @@ -267,6 +267,7 @@ cmStateSnapshot cmState::Reset() { this->GlobalProperties.clear(); this->PropertyDefinitions.clear(); + this->GlobVerificationManager->Reset(); cmStateDetail::PositionType pos = this->SnapshotData.Truncate(); this->ExecutionListFiles.Truncate(); |