diff options
author | Stephen Kelly <steveire@gmail.com> | 2015-05-03 18:36:26 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2015-05-03 18:36:29 (GMT) |
commit | 83dc483e4e35b528a5ece7a336399a994bd3f67e (patch) | |
tree | 8a5e1043041960e04d6be9c82c301021ba29874d /Source/cmState.cxx | |
parent | 6cd6d50871ce28d0c72336a6aca01814487df5e1 (diff) | |
download | CMake-83dc483e4e35b528a5ece7a336399a994bd3f67e.zip CMake-83dc483e4e35b528a5ece7a336399a994bd3f67e.tar.gz CMake-83dc483e4e35b528a5ece7a336399a994bd3f67e.tar.bz2 |
cmState: Truncate snapshot data in Initialize.
When Configure is executed multiple times with the same cmake
instance (either using CTest --two-config or a interactive gui), the
location and structural data was preserved though it would not be used
again. Fix that by clearing the data in a method called early in
the configure step.
Diffstat (limited to 'Source/cmState.cxx')
-rw-r--r-- | Source/cmState.cxx | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/Source/cmState.cxx b/Source/cmState.cxx index 24cbc4a..67a2274 100644 --- a/Source/cmState.cxx +++ b/Source/cmState.cxx @@ -22,7 +22,6 @@ cmState::cmState(cmake* cm) : CMakeInstance(cm), IsInTryCompile(false) { - this->CreateSnapshot(Snapshot()); this->Initialize(); } @@ -194,8 +193,12 @@ void cmState::RemoveCacheEntryProperty(std::string const& key, void cmState::Initialize() { this->GlobalProperties.clear(); - this->PropertyDefinitions.clear(); + this->Locations.clear(); + this->OutputLocations.clear(); + this->ParentPositions.clear(); + + this->CreateSnapshot(Snapshot()); this->DefineProperty ("RULE_LAUNCH_COMPILE", cmProperty::DIRECTORY, "", "", true); |