Merge branch 'unknown-aliased-target' into compiler-features

This commit is contained in:
Brad King 2016-06-28 09:03:00 -04:00
commit 059a6ca07a
2 changed files with 15 additions and 20 deletions

View File

@ -248,15 +248,14 @@ bool cmGetPropertyCommand::HandleTargetMode()
return false; return false;
} }
if (this->PropertyName == "ALIASED_TARGET") { if (cmTarget* target = this->Makefile->FindTargetToUse(this->Name)) {
if (this->Makefile->IsAlias(this->Name)) { if (this->PropertyName == "ALIASED_TARGET") {
if (cmTarget* target = this->Makefile->FindTargetToUse(this->Name)) { if (this->Makefile->IsAlias(this->Name)) {
return this->StoreResult(target->GetName().c_str()); return this->StoreResult(target->GetName().c_str());
} else {
return this->StoreResult((this->Variable + "-NOTFOUND").c_str());
} }
} }
return this->StoreResult((this->Variable + "-NOTFOUND").c_str());
}
if (cmTarget* target = this->Makefile->FindTargetToUse(this->Name)) {
return this->StoreResult( return this->StoreResult(
target->GetProperty(this->PropertyName, this->Makefile)); target->GetProperty(this->PropertyName, this->Makefile));
} else { } else {

View File

@ -24,22 +24,18 @@ bool cmGetTargetPropertyCommand::InitialPass(
std::string prop; std::string prop;
bool prop_exists = false; bool prop_exists = false;
if (args[2] == "ALIASED_TARGET") { if (cmTarget* tgt = this->Makefile->FindTargetToUse(targetName)) {
if (this->Makefile->IsAlias(targetName)) { if (args[2] == "ALIASED_TARGET") {
if (cmTarget* target = this->Makefile->FindTargetToUse(targetName)) { if (this->Makefile->IsAlias(targetName)) {
prop = target->GetName(); prop = tgt->GetName();
prop_exists = true;
}
} else if (!args[2].empty()) {
const char* prop_cstr = tgt->GetProperty(args[2], this->Makefile);
if (prop_cstr) {
prop = prop_cstr;
prop_exists = true; prop_exists = true;
} }
}
} else if (cmTarget* tgt = this->Makefile->FindTargetToUse(targetName)) {
cmTarget& target = *tgt;
const char* prop_cstr = CM_NULLPTR;
if (!args[2].empty()) {
prop_cstr = target.GetProperty(args[2], this->Makefile);
}
if (prop_cstr) {
prop = prop_cstr;
prop_exists = true;
} }
} else { } else {
bool issueMessage = false; bool issueMessage = false;