Răsfoiți Sursa

Test COMPILE_DEFINITIONS target property get/set/get round-trip

Teach the Preprocess test to get, set, and then get the same value for
the COMPILE_DEFINITIONS target property and verify that the value is not
changed.  This ensures the internal structured storage of the property
value can reproduce the original string value.
Brad King 12 ani în urmă
părinte
comite
a43e5e0ad5
1 a modificat fișierele cu 13 adăugiri și 0 ștergeri
  1. 13 0
      Tests/Preprocess/CMakeLists.txt

+ 13 - 0
Tests/Preprocess/CMakeLists.txt

@@ -259,6 +259,19 @@ set_property(
   ${DEF_FILE_PATH}
   )
 
+# Try reading and writing the property value to ensure the string is
+# preserved.
+get_property(defs1 TARGET Preprocess PROPERTY COMPILE_DEFINITIONS)
+set_property(TARGET Preprocess PROPERTY COMPILE_DEFINITIONS "${defs1}")
+get_property(defs2 TARGET Preprocess PROPERTY COMPILE_DEFINITIONS)
+if(NOT "x${defs1}" STREQUAL "x${defs2}")
+  message(FATAL_ERROR "get/set/get COMPILE_DEFINITIONS round trip failed.  "
+    "First get:\n"
+    "  ${defs1}\n"
+    "Second get:\n"
+    "  ${defs2}")
+endif()
+
 # Helper target for running test manually in build tree.
 add_custom_target(drive COMMAND Preprocess)