cmGeneratorTarget: Factor out message about reasons for a missing target

This commit is contained in:
Brad King
2021-12-17 16:19:43 -05:00
parent 37a25072ea
commit 5134f099a3

View File

@@ -6281,6 +6281,14 @@ void cmGeneratorTarget::CheckLinkLibraries() const
}
}
namespace {
cm::string_view missingTargetPossibleReasons =
"Possible reasons include:\n"
" * There is a typo in the target name.\n"
" * A find_package call is missing for an IMPORTED target.\n"
" * An ALIAS target is missing.\n"_s;
}
bool cmGeneratorTarget::VerifyLinkItemColons(LinkItemRole role,
cmLinkItem const& item) const
{
@@ -6309,11 +6317,9 @@ bool cmGeneratorTarget::VerifyLinkItemColons(LinkItemRole role,
e = cmStrCat(e, "The link interface of target \"", this->GetName(),
"\" contains");
}
e = cmStrCat(e, ":\n ", item.AsStr(), "\n",
"but the target was not found. Possible reasons include:\n"
" * There is a typo in the target name.\n"
" * A find_package call is missing for an IMPORTED target.\n"
" * An ALIAS target is missing.\n");
e =
cmStrCat(e, ":\n ", item.AsStr(), "\n", "but the target was not found. ",
missingTargetPossibleReasons);
cmListFileBacktrace backtrace = item.Backtrace;
if (backtrace.Empty()) {
backtrace = this->GetBacktrace();