summaryrefslogtreecommitdiffstats
path: root/Tests
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2011-07-26 18:57:05 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2011-07-26 18:57:05 (GMT)
commitccd4c8b2025cb1cbd5ff5d6ae65ad9dab27b69d7 (patch)
treeb55aad3fab3a858852964ba0e444f59f94fb9703 /Tests
parent9ac8c938bbe9b63bc9ef0f883d2bc5cea42f6735 (diff)
parentd64ba0b8b4112f1882f1bd96888d37349ab83112 (diff)
downloadCMake-ccd4c8b2025cb1cbd5ff5d6ae65ad9dab27b69d7.zip
CMake-ccd4c8b2025cb1cbd5ff5d6ae65ad9dab27b69d7.tar.gz
CMake-ccd4c8b2025cb1cbd5ff5d6ae65ad9dab27b69d7.tar.bz2
Merge topic 'PushCheckState'
d64ba0b Fix copyright notice test 1325260 Add macros cmake_push/pop_check_state() as discussed on the list.
Diffstat (limited to 'Tests')
-rw-r--r--Tests/CMakeTests/CMakeLists.txt1
-rw-r--r--Tests/CMakeTests/PushCheckStateTest.cmake.in30
2 files changed, 31 insertions, 0 deletions
diff --git a/Tests/CMakeTests/CMakeLists.txt b/Tests/CMakeTests/CMakeLists.txt
index 5cb50c9..fc1426e 100644
--- a/Tests/CMakeTests/CMakeLists.txt
+++ b/Tests/CMakeTests/CMakeLists.txt
@@ -28,6 +28,7 @@ AddCMakeTest(Math "")
AddCMakeTest(CMakeMinimumRequired "")
AddCMakeTest(CompilerIdVendor "")
AddCMakeTest(ProcessorCount "")
+AddCMakeTest(PushCheckState "")
AddCMakeTest(FileDownload "")
set_property(TEST CMake.FileDownload PROPERTY
diff --git a/Tests/CMakeTests/PushCheckStateTest.cmake.in b/Tests/CMakeTests/PushCheckStateTest.cmake.in
new file mode 100644
index 0000000..e707b9a
--- /dev/null
+++ b/Tests/CMakeTests/PushCheckStateTest.cmake.in
@@ -0,0 +1,30 @@
+include(CMakePushCheckState)
+
+set(CMAKE_REQUIRED_DEFINITIONS defs1 )
+
+cmake_push_check_state()
+
+set(CMAKE_REQUIRED_DEFINITIONS defs2)
+
+cmake_push_check_state()
+
+set(CMAKE_REQUIRED_DEFINITIONS defs3)
+
+cmake_pop_check_state()
+
+if (NOT "${CMAKE_REQUIRED_DEFINITIONS}" STREQUAL "defs2")
+ set(fatal TRUE)
+ message("ERROR: "CMAKE_REQUIRED_DEFINITIONS is \"${CMAKE_REQUIRED_DEFINITIONS}\" (expected \"defs2\")" )
+endif()
+
+cmake_pop_check_state()
+
+if (NOT "${CMAKE_REQUIRED_DEFINITIONS}" STREQUAL "defs1")
+ set(fatal TRUE)
+ message("ERROR: "CMAKE_REQUIRED_DEFINITIONS is \"${CMAKE_REQUIRED_DEFINITIONS}\" (expected \"defs1\")" )
+endif()
+
+
+if(fatal)
+ message(FATAL_ERROR "cmake_push_check_state() test failed")
+endif()