|
|
@@ -707,38 +707,10 @@ cmBacktraceRange cmTarget::GetLinkImplementationBacktraces() const
|
|
|
return cmMakeRange(this->Internal->LinkImplementationPropertyBacktraces);
|
|
|
}
|
|
|
|
|
|
-static bool whiteListedInterfaceProperty(const std::string& prop)
|
|
|
-{
|
|
|
- if (cmHasLiteralPrefix(prop, "INTERFACE_")) {
|
|
|
- return true;
|
|
|
- }
|
|
|
- static UNORDERED_SET<std::string> builtIns;
|
|
|
- if (builtIns.empty()) {
|
|
|
- builtIns.insert("COMPATIBLE_INTERFACE_BOOL");
|
|
|
- builtIns.insert("COMPATIBLE_INTERFACE_NUMBER_MAX");
|
|
|
- builtIns.insert("COMPATIBLE_INTERFACE_NUMBER_MIN");
|
|
|
- builtIns.insert("COMPATIBLE_INTERFACE_STRING");
|
|
|
- builtIns.insert("EXPORT_NAME");
|
|
|
- builtIns.insert("IMPORTED");
|
|
|
- builtIns.insert("NAME");
|
|
|
- builtIns.insert("TYPE");
|
|
|
- }
|
|
|
-
|
|
|
- if (builtIns.count(prop)) {
|
|
|
- return true;
|
|
|
- }
|
|
|
-
|
|
|
- if (cmHasLiteralPrefix(prop, "MAP_IMPORTED_CONFIG_")) {
|
|
|
- return true;
|
|
|
- }
|
|
|
-
|
|
|
- return false;
|
|
|
-}
|
|
|
-
|
|
|
void cmTarget::SetProperty(const std::string& prop, const char* value)
|
|
|
{
|
|
|
if (this->GetType() == cmState::INTERFACE_LIBRARY &&
|
|
|
- !whiteListedInterfaceProperty(prop)) {
|
|
|
+ !cmTargetPropertyComputer::WhiteListedInterfaceProperty(prop)) {
|
|
|
std::ostringstream e;
|
|
|
e << "INTERFACE_LIBRARY targets may only have whitelisted properties. "
|
|
|
"The property \""
|
|
|
@@ -822,7 +794,7 @@ void cmTarget::AppendProperty(const std::string& prop, const char* value,
|
|
|
bool asString)
|
|
|
{
|
|
|
if (this->GetType() == cmState::INTERFACE_LIBRARY &&
|
|
|
- !whiteListedInterfaceProperty(prop)) {
|
|
|
+ !cmTargetPropertyComputer::WhiteListedInterfaceProperty(prop)) {
|
|
|
std::ostringstream e;
|
|
|
e << "INTERFACE_LIBRARY targets may only have whitelisted properties. "
|
|
|
"The property \""
|
|
|
@@ -1041,7 +1013,7 @@ const char* cmTarget::GetProperty(const std::string& prop,
|
|
|
cmMakefile* context) const
|
|
|
{
|
|
|
if (this->GetType() == cmState::INTERFACE_LIBRARY &&
|
|
|
- !whiteListedInterfaceProperty(prop)) {
|
|
|
+ !cmTargetPropertyComputer::WhiteListedInterfaceProperty(prop)) {
|
|
|
std::ostringstream e;
|
|
|
e << "INTERFACE_LIBRARY targets may only have whitelisted properties. "
|
|
|
"The property \""
|