Browse Source

cmTarget: Simplify ClearDependencyInformation implementation

Remove the `<target>_LIB_DEPENDS` cache entry unconditionally.
It will be populated again later if needed.  There is no need
to ask the user to remove the cache entry if the target type
changes.

Issue: #16364
pull/320/head
Brad King 8 years ago
parent
commit
1c5bfab532
  1. 17
      Source/cmTarget.cxx

17
Source/cmTarget.cxx

@ -637,24 +637,9 @@ const std::vector<std::string>& cmTarget::GetLinkDirectories() const
void cmTarget::ClearDependencyInformation(cmMakefile& mf)
{
// Clear the dependencies. The cache variable must exist iff we are
// recording dependency information for this target.
std::string depname = this->GetName();
depname += "_LIB_DEPENDS";
if (this->RecordDependencies) {
mf.AddCacheDefinition(depname, "", "Dependencies for target",
cmStateEnums::STATIC);
} else {
if (mf.GetDefinition(depname)) {
std::string message = "Target ";
message += this->GetName();
message += " has dependency information when it shouldn't.\n";
message += "Your cache is probably stale. Please remove the entry\n ";
message += depname;
message += "\nfrom the cache.";
cmSystemTools::Error(message.c_str());
}
}
mf.RemoveCacheDefinition(depname);
}
std::string cmTarget::GetDebugGeneratorExpressions(

Loading…
Cancel
Save