Updated formatting of documentation plus a little reorganization.
[cmake.git] / Tests / Unset / CMakeLists.txt
blobbacb6d21f5f2bec547fb0b8745c40bdc65de4998
1 cmake_minimum_required(VERSION 2.6)
2 project(Unset C)
4 # Local variable
5 set(x 42)
6 if(NOT x EQUAL 42)
7   message(FATAL_ERROR "x!=42")
8 endif(NOT x EQUAL 42)
10 if(NOT DEFINED x)
11   message(FATAL_ERROR "x should be defined!")
12 endif(NOT DEFINED x)
14 unset(x)
15 if(DEFINED x)
16   message(FATAL_ERROR "x should be undefined now!")
17 endif(DEFINED x)
19 # Local variable test unset via set()
20 set(x 43)
21 if(NOT x EQUAL 43)
22   message(FATAL_ERROR "x!=43")
23 endif(NOT x EQUAL 43)
24 set(x)
25 if(DEFINED x)
26   message(FATAL_ERROR "x should be undefined now!")
27 endif(DEFINED x)
29 # Cache variable
30 set(BAR "test" CACHE STRING "documentation")
31 if(NOT DEFINED BAR)
32   message(FATAL_ERROR "BAR not defined")
33 endif(NOT DEFINED BAR)
35 # Test interaction of cache entries with variables.
36 set(BAR "test-var")
37 if(NOT "$CACHE{BAR}" STREQUAL "test")
38   message(FATAL_ERROR "\$CACHE{BAR} changed by variable BAR")
39 endif(NOT "$CACHE{BAR}" STREQUAL "test")
40 if(NOT "${BAR}" STREQUAL "test-var")
41   message(FATAL_ERROR "\${BAR} not separate from \$CACHE{BAR}")
42 endif(NOT "${BAR}" STREQUAL "test-var")
43 unset(BAR)
44 if(NOT "${BAR}" STREQUAL "test")
45   message(FATAL_ERROR "\${BAR} does not fall through to \$CACHE{BAR}")
46 endif(NOT "${BAR}" STREQUAL "test")
48 # Test unsetting of CACHE entry.
49 unset(BAR CACHE)
50 if(DEFINED BAR)
51   message(FATAL_ERROR "BAR still defined")
52 endif(DEFINED BAR)
55 add_executable(Unset unset.c)