diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2008-03-12 21:02:30 (GMT) |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2008-03-12 21:02:30 (GMT) |
commit | 8bf388109d1d95d1f269b6e78c90e88f217bafa3 (patch) | |
tree | 3105caee884426df3faaf472d12abb1586236a1e /Source/cmake.cxx | |
parent | f64d3d0b77bfa41d64cf86e1b60e499eba7a813c (diff) | |
download | CMake-8bf388109d1d95d1f269b6e78c90e88f217bafa3.zip CMake-8bf388109d1d95d1f269b6e78c90e88f217bafa3.tar.gz CMake-8bf388109d1d95d1f269b6e78c90e88f217bafa3.tar.bz2 |
ENH: make sure properties are re-set on each configure
Diffstat (limited to 'Source/cmake.cxx')
-rw-r--r-- | Source/cmake.cxx | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/Source/cmake.cxx b/Source/cmake.cxx index c6b4052..caf4f37 100644 --- a/Source/cmake.cxx +++ b/Source/cmake.cxx @@ -146,15 +146,7 @@ cmake::cmake() this->FileComparison = new cmFileTimeComparison; this->Policies = new cmPolicies(); - - this->Properties.SetCMakeInstance(this); - - // initialize properties - cmSourceFile::DefineProperties(this); - cmTarget::DefineProperties(this); - cmMakefile::DefineProperties(this); - cmTest::DefineProperties(this); - cmake::DefineProperties(this); + this->InitializeProperties(); #ifdef __APPLE__ struct rlimit rlp; @@ -224,8 +216,24 @@ cmake::~cmake() delete this->FileComparison; } +void cmake::InitializeProperties() +{ + this->Properties.clear(); + this->Properties.SetCMakeInstance(this); + + // initialize properties + cmSourceFile::DefineProperties(this); + cmTarget::DefineProperties(this); + cmMakefile::DefineProperties(this); + cmTest::DefineProperties(this); + cmake::DefineProperties(this); + this->AccessedProperties.clear(); + this->PropertyDefinitions.clear(); +} + void cmake::CleanupCommandsAndMacros() { + this->InitializeProperties(); std::vector<cmCommand*> commands; for(RegisteredCommandsMap::iterator j = this->Commands.begin(); j != this->Commands.end(); ++j) |