1
0
Эх сурвалжийг харах

InterfaceLibrary: Whitelist EXPORT_PROPERTIES property

Fixes: #19261
Brad King 6 жил өмнө
parent
commit
73a829e078

+ 1 - 0
Help/manual/cmake-buildsystem.7.rst

@@ -977,6 +977,7 @@ are:
 * Properties matching ``INTERFACE_*``
 * Built-in properties matching ``COMPATIBLE_INTERFACE_*``
 * ``EXPORT_NAME``
+* ``EXPORT_PROPERTIES``
 * ``IMPORTED``
 * ``MANUALLY_ADDED_DEPENDENCIES``
 * ``NAME``

+ 1 - 0
Source/cmTargetPropertyComputer.cxx

@@ -63,6 +63,7 @@ bool cmTargetPropertyComputer::WhiteListedInterfaceProperty(
     builtIns.insert("COMPATIBLE_INTERFACE_NUMBER_MIN");
     builtIns.insert("COMPATIBLE_INTERFACE_STRING");
     builtIns.insert("EXPORT_NAME");
+    builtIns.insert("EXPORT_PROPERTIES");
     builtIns.insert("IMPORTED");
     builtIns.insert("IMPORTED_GLOBAL");
     builtIns.insert("MANUALLY_ADDED_DEPENDENCIES");

+ 2 - 0
Tests/ExportImport/Export/Interface/CMakeLists.txt

@@ -41,6 +41,8 @@ install(FILES
 
 add_library(cmakeonly INTERFACE)
 set_property(TARGET cmakeonly PROPERTY INTERFACE_COMPILE_DEFINITIONS [[DEF="\"\$\B"]])
+set_property(TARGET cmakeonly PROPERTY custom_property CustomPropertyValue)
+set_property(TARGET cmakeonly PROPERTY EXPORT_PROPERTIES custom_property)
 
 install(TARGETS headeronly sharediface use_auto_type use_c_restrict source_target
                 cmakeonly

+ 8 - 0
Tests/ExportImport/Import/Interface/CMakeLists.txt

@@ -109,4 +109,12 @@ foreach(ns exp bld)
       "not\n"
       " " [[DEF="\"\$\B"]] "\n")
   endif()
+  get_property(custom TARGET ${ns}::cmakeonly PROPERTY custom_property)
+  if(NOT custom STREQUAL "CustomPropertyValue")
+    message(SEND_ERROR
+      "${ns}::cmakeonly property custom_property is:\n"
+      " ${custom}\n"
+      "not\n"
+      " CustomPropertyValue\n")
+  endif()
 endforeach()