cmComputeLinkInformation: Add context to warning about linking a directory

This commit is contained in:
Brad King
2021-10-27 12:58:46 -04:00
parent 4862f3b2c8
commit 1a25f057da
2 changed files with 10 additions and 9 deletions

View File

@@ -722,7 +722,7 @@ void cmComputeLinkInformation::AddItem(BT<std::string> const& item,
this->AddFrameworkItem(item.Value);
} else if (cmSystemTools::FileIsDirectory(item.Value)) {
// This is a directory.
this->DropDirectoryItem(item.Value);
this->DropDirectoryItem(item);
} else {
// Use the full path given to the library file.
this->Depends.push_back(item.Value);
@@ -1349,16 +1349,17 @@ void cmComputeLinkInformation::AddFrameworkItem(std::string const& item)
}
}
void cmComputeLinkInformation::DropDirectoryItem(std::string const& item)
void cmComputeLinkInformation::DropDirectoryItem(BT<std::string> const& item)
{
// A full path to a directory was found as a link item. Warn the
// user.
std::ostringstream e;
e << "WARNING: Target \"" << this->Target->GetName()
<< "\" requests linking to directory \"" << item << "\". "
<< "Targets may link only to libraries. "
<< "CMake is dropping the item.";
cmSystemTools::Message(e.str());
this->CMakeInstance->IssueMessage(
MessageType::WARNING,
cmStrCat(
"Target \"", this->Target->GetName(),
"\" requests linking to directory \"", item.Value,
"\". Targets may link only to libraries. CMake is dropping the item."),
item.Backtrace);
}
void cmComputeLinkInformation::ComputeFrameworkInfo()

View File

@@ -187,7 +187,7 @@ private:
bool CheckImplicitDirItem(std::string const& item);
void AddUserItem(BT<std::string> const& item, bool pathNotKnown);
void AddFrameworkItem(std::string const& item);
void DropDirectoryItem(std::string const& item);
void DropDirectoryItem(BT<std::string> const& item);
bool CheckSharedLibNoSOName(std::string const& item);
void AddSharedLibNoSOName(std::string const& item);
void HandleBadFullItem(std::string const& item, std::string const& file);