12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- cmake_minimum_required(VERSION 2.6)
- project(Unset C)
- # Local variable
- set(x 42)
- if(NOT x EQUAL 42)
- message(FATAL_ERROR "x!=42")
- endif()
- if(NOT DEFINED x)
- message(FATAL_ERROR "x should be defined!")
- endif()
- unset(x)
- if(DEFINED x)
- message(FATAL_ERROR "x should be undefined now!")
- endif()
- # Local variable test unset via set()
- set(x 43)
- if(NOT x EQUAL 43)
- message(FATAL_ERROR "x!=43")
- endif()
- set(x)
- if(DEFINED x)
- message(FATAL_ERROR "x should be undefined now!")
- endif()
- # Cache variable
- set(BAR "test" CACHE STRING "documentation")
- if(NOT DEFINED BAR)
- message(FATAL_ERROR "BAR not defined")
- endif()
- # Test interaction of cache entries with variables.
- set(BAR "test-var")
- if(NOT "$CACHE{BAR}" STREQUAL "test")
- message(FATAL_ERROR "\$CACHE{BAR} changed by variable BAR")
- endif()
- if(NOT "${BAR}" STREQUAL "test-var")
- message(FATAL_ERROR "\${BAR} not separate from \$CACHE{BAR}")
- endif()
- unset(BAR)
- if(NOT "${BAR}" STREQUAL "test")
- message(FATAL_ERROR "\${BAR} does not fall through to \$CACHE{BAR}")
- endif()
- # Test unsetting of CACHE entry.
- unset(BAR CACHE)
- if(DEFINED BAR)
- message(FATAL_ERROR "BAR still defined")
- endif()
- # Test unset(... PARENT_SCOPE)
- function(unset_zots)
- if(NOT DEFINED ZOT1)
- message(FATAL_ERROR "ZOT1 is not defined inside function")
- endif()
- if(NOT DEFINED ZOT2)
- message(FATAL_ERROR "ZOT2 is not defined inside function")
- endif()
- unset(ZOT1)
- unset(ZOT2 PARENT_SCOPE)
- if(DEFINED ZOT1)
- message(FATAL_ERROR "ZOT1 is defined inside function after unset")
- endif()
- if(NOT DEFINED ZOT2)
- message(FATAL_ERROR
- "ZOT2 is not defined inside function after unset(... PARENT_SCOPE)")
- endif()
- endfunction()
- set(ZOT1 1)
- set(ZOT2 2)
- unset_zots()
- if(NOT DEFINED ZOT1)
- message(FATAL_ERROR "ZOT1 is not still defined after function")
- endif()
- if(DEFINED ZOT2)
- message(FATAL_ERROR "ZOT2 is still defined after function unset PARENT_SCOPE")
- endif()
- add_executable(Unset unset.c)
|