cmTargetPropertyComputer: Unify whitelist handling from cmTarget

This commit is contained in:
Stephen Kelly
2016-10-13 00:18:24 +02:00
parent 05251e6d80
commit 637e3f3ee1
3 changed files with 29 additions and 21 deletions
+16
View File
@@ -270,3 +270,19 @@ bool cmTargetPropertyComputer::WhiteListedInterfaceProperty(
return false;
}
bool cmTargetPropertyComputer::PassesWhitelist(
cmState::TargetType tgtType, std::string const& prop, cmMessenger* messenger,
cmListFileBacktrace const& context)
{
if (tgtType == cmState::INTERFACE_LIBRARY &&
!WhiteListedInterfaceProperty(prop)) {
std::ostringstream e;
e << "INTERFACE_LIBRARY targets may only have whitelisted properties. "
"The property \""
<< prop << "\" is not allowed.";
messenger->IssueMessage(cmake::FATAL_ERROR, e.str(), context);
return false;
}
return true;
}