summaryrefslogtreecommitdiffstats
path: root/Tests/Preprocess
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2013-07-24 17:25:11 (GMT)
committerBrad King <brad.king@kitware.com>2013-07-24 17:25:47 (GMT)
commita43e5e0ad56883366ecd7fd01c31e9ed5fcf5ae1 (patch)
treeea31027a6964d382d9fc965a944b3387e9dd2b2b /Tests/Preprocess
parentd7dd01083a99055d689c80fe28bbc79a11bf3da1 (diff)
downloadCMake-a43e5e0ad56883366ecd7fd01c31e9ed5fcf5ae1.zip
CMake-a43e5e0ad56883366ecd7fd01c31e9ed5fcf5ae1.tar.gz
CMake-a43e5e0ad56883366ecd7fd01c31e9ed5fcf5ae1.tar.bz2
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.
Diffstat (limited to 'Tests/Preprocess')
-rw-r--r--Tests/Preprocess/CMakeLists.txt13
1 files changed, 13 insertions, 0 deletions
diff --git a/Tests/Preprocess/CMakeLists.txt b/Tests/Preprocess/CMakeLists.txt
index bc92a94..d44cb9c 100644
--- a/Tests/Preprocess/CMakeLists.txt
+++ b/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)