summaryrefslogtreecommitdiffstats
path: root/Tests
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2022-02-10 14:11:07 (GMT)
committerKitware Robot <kwrobot@kitware.com>2022-02-10 14:11:13 (GMT)
commitcd71d7f6633ae1c091b21e4badf4bfaeae6d6fd4 (patch)
tree8774048b08ef125b0816a265c127f9c9a777d868 /Tests
parent90a77c60b3d1fc4ee7da7eed264fbe6c9c877b29 (diff)
parent41adfc6b041474f6985ab72efcfb02b2b64a6b8d (diff)
downloadCMake-cd71d7f6633ae1c091b21e4badf4bfaeae6d6fd4.zip
CMake-cd71d7f6633ae1c091b21e4badf4bfaeae6d6fd4.tar.gz
CMake-cd71d7f6633ae1c091b21e4badf4bfaeae6d6fd4.tar.bz2
Merge topic 'doc-if-AND-OR'
41adfc6b04 Help: Clarify precedence of AND and OR in 'if' conditions Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6970
Diffstat (limited to 'Tests')
-rw-r--r--Tests/RunCMake/if/AndOr-stdout.txt1
-rw-r--r--Tests/RunCMake/if/AndOr.cmake6
-rw-r--r--Tests/RunCMake/if/RunCMakeTest.cmake2
3 files changed, 9 insertions, 0 deletions
diff --git a/Tests/RunCMake/if/AndOr-stdout.txt b/Tests/RunCMake/if/AndOr-stdout.txt
new file mode 100644
index 0000000..9fd395b
--- /dev/null
+++ b/Tests/RunCMake/if/AndOr-stdout.txt
@@ -0,0 +1 @@
+-- OR and AND correctly evaluated left to right
diff --git a/Tests/RunCMake/if/AndOr.cmake b/Tests/RunCMake/if/AndOr.cmake
new file mode 100644
index 0000000..847d6f2
--- /dev/null
+++ b/Tests/RunCMake/if/AndOr.cmake
@@ -0,0 +1,6 @@
+# AND and OR are the same precedence
+if(1 OR 0 AND 0) # equivalent to ((1 OR 0) AND 0)
+ message(FATAL_ERROR "AND incorrectly evaluated before OR")
+else()
+ message(STATUS "OR and AND correctly evaluated left to right")
+endif()
diff --git a/Tests/RunCMake/if/RunCMakeTest.cmake b/Tests/RunCMake/if/RunCMakeTest.cmake
index 6baa840..de9cb57 100644
--- a/Tests/RunCMake/if/RunCMakeTest.cmake
+++ b/Tests/RunCMake/if/RunCMakeTest.cmake
@@ -17,3 +17,5 @@ run_cmake(IncompleteMatchesFail)
run_cmake(TestNameThatExists)
run_cmake(TestNameThatDoesNotExist)
+
+run_cmake_script(AndOr)