CMake/Tests/RunCMake/set/ParentScope.cmake
Stephen Kelly c869984ea0 RunCMake: Allow specifying the source dir and file to test.
This will allow decoupling the name of the test from the name and
location of the source file under test, which means one source
file can be used for multiple tests.

Rename the PARENT_SCOPE test in RunCMake.set to not use a keyword
of the if() command as a file name.  As the filename is now used
with an if condition, this causes a conflict.
2014-04-06 23:58:35 +02:00

34 lines
693 B
CMake

set(FOO )
set(BAR "bar")
set(BAZ "baz")
set(BOO "boo")
function(_parent_scope)
set(FOO "foo" PARENT_SCOPE)
set(BAR "" PARENT_SCOPE)
set(BAZ PARENT_SCOPE)
unset(BOO PARENT_SCOPE)
endfunction()
_parent_scope()
if(NOT DEFINED FOO)
message(FATAL_ERROR "FOO not defined")
elseif(NOT "${FOO}" STREQUAL "foo")
message(FATAL_ERROR "FOO should be \"foo\", not \"${FOO}\"")
endif()
if(NOT DEFINED BAR)
message(FATAL_ERROR "BAR not defined")
elseif(NOT "${BAR}" STREQUAL "")
message(FATAL_ERROR "BAR should be an empty string, not \"${BAR}\"")
endif()
if(DEFINED BAZ)
message(FATAL_ERROR "BAZ defined")
endif()
if(DEFINED BOO)
message(FATAL_ERROR "BOO defined")
endif()