ENH: make sure properties are re-set on each configure

This commit is contained in:
Bill Hoffman 2008-03-12 17:02:30 -04:00
parent f64d3d0b77
commit 8bf388109d
2 changed files with 18 additions and 9 deletions

View File

@ -146,15 +146,7 @@ cmake::cmake()
this->FileComparison = new cmFileTimeComparison; this->FileComparison = new cmFileTimeComparison;
this->Policies = new cmPolicies(); this->Policies = new cmPolicies();
this->InitializeProperties();
this->Properties.SetCMakeInstance(this);
// initialize properties
cmSourceFile::DefineProperties(this);
cmTarget::DefineProperties(this);
cmMakefile::DefineProperties(this);
cmTest::DefineProperties(this);
cmake::DefineProperties(this);
#ifdef __APPLE__ #ifdef __APPLE__
struct rlimit rlp; struct rlimit rlp;
@ -224,8 +216,24 @@ cmake::~cmake()
delete this->FileComparison; 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() void cmake::CleanupCommandsAndMacros()
{ {
this->InitializeProperties();
std::vector<cmCommand*> commands; std::vector<cmCommand*> commands;
for(RegisteredCommandsMap::iterator j = this->Commands.begin(); for(RegisteredCommandsMap::iterator j = this->Commands.begin();
j != this->Commands.end(); ++j) j != this->Commands.end(); ++j)

View File

@ -349,6 +349,7 @@ class cmake
this->SuppressDevWarnings = v; this->SuppressDevWarnings = v;
} }
protected: protected:
void InitializeProperties();
int HandleDeleteCacheVariables(const char* var); int HandleDeleteCacheVariables(const char* var);
cmPropertyMap Properties; cmPropertyMap Properties;
std::set<std::pair<cmStdString,cmProperty::ScopeType> > AccessedProperties; std::set<std::pair<cmStdString,cmProperty::ScopeType> > AccessedProperties;