mirror of
https://github.com/Kitware/CMake.git
synced 2026-02-20 06:00:30 -06:00
Combine duplicate code in target property methods
In cmTarget::SetProperty and cmTarget::AppendProperty we check whether changing the property invalidates cached information. The check was duplicated in the two methods, so this commit moves the check into a helper method called from both.
This commit is contained in:
@@ -2001,13 +2001,7 @@ void cmTarget::SetProperty(const char* prop, const char* value)
|
||||
}
|
||||
|
||||
this->Properties.SetProperty(prop, value, cmProperty::TARGET);
|
||||
|
||||
// If imported information is being set, wipe out cached
|
||||
// information.
|
||||
if(this->IsImported() && strncmp(prop, "IMPORTED", 8) == 0)
|
||||
{
|
||||
this->Internal->ImportInfoMap.clear();
|
||||
}
|
||||
this->MaybeInvalidatePropertyCache(prop);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
@@ -2018,9 +2012,13 @@ void cmTarget::AppendProperty(const char* prop, const char* value)
|
||||
return;
|
||||
}
|
||||
this->Properties.AppendProperty(prop, value, cmProperty::TARGET);
|
||||
this->MaybeInvalidatePropertyCache(prop);
|
||||
}
|
||||
|
||||
// If imported information is being set, wipe out cached
|
||||
// information.
|
||||
//----------------------------------------------------------------------------
|
||||
void cmTarget::MaybeInvalidatePropertyCache(const char* prop)
|
||||
{
|
||||
// Wipe wipe out maps caching information affected by this property.
|
||||
if(this->IsImported() && strncmp(prop, "IMPORTED", 8) == 0)
|
||||
{
|
||||
this->Internal->ImportInfoMap.clear();
|
||||
|
||||
@@ -567,6 +567,8 @@ private:
|
||||
LinkImplementation& impl);
|
||||
void ComputeLinkClosure(const char* config, LinkClosure& lc);
|
||||
|
||||
void MaybeInvalidatePropertyCache(const char* prop);
|
||||
|
||||
// The cmMakefile instance that owns this target. This should
|
||||
// always be set.
|
||||
cmMakefile* Makefile;
|
||||
|
||||
Reference in New Issue
Block a user