Selaa lähdekoodia

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 vuotta sitten
vanhempi
sitoutus
a43e5e0ad5
1 muutettua tiedostoa jossa 13 lisäystä ja 0 poistoa
  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)