summaryrefslogtreecommitdiffstats
path: root/Source/cmState.cxx
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2015-05-03 18:36:26 (GMT)
committerStephen Kelly <steveire@gmail.com>2015-05-03 18:36:29 (GMT)
commit83dc483e4e35b528a5ece7a336399a994bd3f67e (patch)
tree8a5e1043041960e04d6be9c82c301021ba29874d /Source/cmState.cxx
parent6cd6d50871ce28d0c72336a6aca01814487df5e1 (diff)
downloadCMake-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.cxx7
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);