Don't call SetProperty from GetProperty.

Memoize with the internal container directly instead.
This commit is contained in:
Stephen Kelly 2012-09-15 21:34:17 +02:00
parent 8a6e82724c
commit cfb6661333
1 changed files with 10 additions and 4 deletions

View File

@ -2907,7 +2907,8 @@ const char *cmTarget::GetProperty(const char* prop,
// cannot take into account the per-configuration name of the // cannot take into account the per-configuration name of the
// target because the configuration type may not be known at // target because the configuration type may not be known at
// CMake time. // CMake time.
this->SetProperty("LOCATION", this->GetLocation(0)); this->Properties.SetProperty("LOCATION", this->GetLocation(0),
cmProperty::TARGET);
} }
// Support "LOCATION_<CONFIG>". // Support "LOCATION_<CONFIG>".
@ -2918,7 +2919,9 @@ const char *cmTarget::GetProperty(const char* prop,
return 0; return 0;
} }
std::string configName = prop+9; std::string configName = prop+9;
this->SetProperty(prop, this->GetLocation(configName.c_str())); this->Properties.SetProperty(prop,
this->GetLocation(configName.c_str()),
cmProperty::TARGET);
} }
else else
{ {
@ -2933,7 +2936,9 @@ const char *cmTarget::GetProperty(const char* prop,
{ {
return 0; return 0;
} }
this->SetProperty(prop, this->GetLocation(configName.c_str())); this->Properties.SetProperty(prop,
this->GetLocation(configName.c_str()),
cmProperty::TARGET);
} }
} }
} }
@ -3038,7 +3043,8 @@ const char *cmTarget::GetProperty(const char* prop,
// Append this list entry. // Append this list entry.
ss << sname; ss << sname;
} }
this->SetProperty("SOURCES", ss.str().c_str()); this->Properties.SetProperty("SOURCES", ss.str().c_str(),
cmProperty::TARGET);
} }
// the type property returns what type the target is // the type property returns what type the target is