summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/CMP0054/CMP0054-NEW.cmake
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2014-09-15 14:27:36 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2014-09-15 14:27:36 (GMT)
commit9edf6903e62f84a567db3938bb8fec3f19789545 (patch)
tree889b2078804ab5f74e8e76a9e4000b9dc27479d5 /Tests/RunCMake/CMP0054/CMP0054-NEW.cmake
parent78884b6effcb5406eb64365d6cf4b43c085f56c3 (diff)
parent858d5a0b3e52dbae635fac5a6944fba23a362f5b (diff)
downloadCMake-9edf6903e62f84a567db3938bb8fec3f19789545.zip
CMake-9edf6903e62f84a567db3938bb8fec3f19789545.tar.gz
CMake-9edf6903e62f84a567db3938bb8fec3f19789545.tar.bz2
Merge topic 'if-sanity'
858d5a0b Fix if() checks of CMAKE_SYSTEM_NAME on Cygwin e177e7af FPHSA: Avoid if() dereferencing of quoted variable 425acc52 cmcurl: Use if(DEFINED) to simplify conditions cede5cbd libarchive: Avoid depending on if() to dereference a quoted variable 2d97178b FindGTK2: Avoid depending on if() to dereference a quoted variable 0b12815d Modules/Test*.cmake: Use if(DEFINED) to simplify conditions 188a1f23 If: Introduce policy CMP0054 - don't dereference quoted variables in if() b900c1cc If: Extract cmConditionEvaluator from if() implementation
Diffstat (limited to 'Tests/RunCMake/CMP0054/CMP0054-NEW.cmake')
-rw-r--r--Tests/RunCMake/CMP0054/CMP0054-NEW.cmake47
1 files changed, 47 insertions, 0 deletions
diff --git a/Tests/RunCMake/CMP0054/CMP0054-NEW.cmake b/Tests/RunCMake/CMP0054/CMP0054-NEW.cmake
new file mode 100644
index 0000000..23a9124
--- /dev/null
+++ b/Tests/RunCMake/CMP0054/CMP0054-NEW.cmake
@@ -0,0 +1,47 @@
+cmake_policy(SET CMP0054 NEW)
+
+set(FOO "BAR")
+set(BAZ "ZZZ")
+set(MYTRUE ON)
+set(MYNUMBER 3)
+set(MYVERSION 3.0)
+
+function(assert_unquoted PREFIX FIRST)
+ string(REPLACE ";" " " ARGN_SP "${ARGN}")
+ if(${PREFIX} ${FIRST} ${ARGN})
+ message(FATAL_ERROR "Assertion failed [${PREFIX} ${FIRST} ${ARGN_SP}]")
+ endif()
+endfunction()
+
+function(assert_quoted PREFIX FIRST)
+ string(REPLACE ";" " " ARGN_SP "${ARGN}")
+ if(${PREFIX} "${FIRST}" ${ARGN})
+ message(FATAL_ERROR "Assertion failed [${PREFIX} \"${FIRST}\" ${ARGN_SP}]")
+ endif()
+endfunction()
+
+function(assert FIRST)
+ assert_unquoted(NOT ${FIRST} ${ARGN})
+ assert_quoted("" ${FIRST} ${ARGN})
+endfunction()
+
+assert(MYTRUE)
+
+assert(FOO MATCHES "^BAR$")
+
+assert(MYNUMBER LESS 4)
+assert(MYNUMBER GREATER 2)
+assert(MYNUMBER EQUAL 3)
+
+assert(FOO STRLESS CCC)
+assert(BAZ STRGREATER CCC)
+assert(FOO STREQUAL BAR)
+
+assert_unquoted(NOT MYVERSION VERSION_LESS 3.1)
+assert_unquoted("" MYVERSION VERSION_LESS 2.9)
+
+assert_quoted(NOT MYVERSION VERSION_LESS 2.9)
+assert_quoted(NOT MYVERSION VERSION_LESS 3.1)
+
+assert(MYVERSION VERSION_GREATER 2.9)
+assert(MYVERSION VERSION_EQUAL 3.0)