You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
143 lines
2.7 KiB
143 lines
2.7 KiB
|
|
function(FUNC1)
|
|
set(VAR1 "set")
|
|
unset(VAR2)
|
|
return(PROPAGATE VAR1 VAR2)
|
|
endfunction()
|
|
|
|
set(VAR1 "initial")
|
|
set(VAR2 "initial")
|
|
func1()
|
|
if((NOT DEFINED VAR1 OR NOT VAR1 STREQUAL "set")
|
|
OR DEFINED VAR2)
|
|
message(SEND_ERROR "erroneous propagation for FUNC1")
|
|
endif()
|
|
|
|
|
|
function(FUNC2)
|
|
block()
|
|
set(VAR1 "set")
|
|
unset(VAR2)
|
|
return(PROPAGATE VAR1 VAR2)
|
|
endblock()
|
|
endfunction()
|
|
|
|
set(VAR1 "initial")
|
|
set(VAR2 "initial")
|
|
func2()
|
|
if((NOT DEFINED VAR1 OR NOT VAR1 STREQUAL "set")
|
|
OR DEFINED VAR2)
|
|
message(SEND_ERROR "erroneous propagation for FUNC2")
|
|
endif()
|
|
|
|
|
|
function(FUNC3)
|
|
block(SCOPE_FOR POLICIES)
|
|
set(VAR1 "set")
|
|
unset(VAR2)
|
|
return(PROPAGATE VAR1 VAR2)
|
|
endblock()
|
|
endfunction()
|
|
|
|
set(VAR1 "initial")
|
|
set(VAR2 "initial")
|
|
func3()
|
|
if((NOT DEFINED VAR1 OR NOT VAR1 STREQUAL "set")
|
|
OR DEFINED VAR2)
|
|
message(SEND_ERROR "erroneous propagation for FUNC3")
|
|
endif()
|
|
|
|
|
|
function(FUNC4)
|
|
while(TRUE)
|
|
set(VAR1 "set")
|
|
unset(VAR2)
|
|
return(PROPAGATE VAR1 VAR2)
|
|
endwhile()
|
|
endfunction()
|
|
|
|
set(VAR1 "initial")
|
|
set(VAR2 "initial")
|
|
func4()
|
|
if((NOT DEFINED VAR1 OR NOT VAR1 STREQUAL "set")
|
|
OR DEFINED VAR2)
|
|
message(SEND_ERROR "erroneous propagation for FUNC4")
|
|
endif()
|
|
|
|
|
|
function(FUNC5)
|
|
foreach(item IN ITEMS A B)
|
|
set(VAR1 "set")
|
|
unset(VAR2)
|
|
return(PROPAGATE VAR1 VAR2)
|
|
endforeach()
|
|
endfunction()
|
|
|
|
set(VAR1 "initial")
|
|
set(VAR2 "initial")
|
|
func5()
|
|
if((NOT DEFINED VAR1 OR NOT VAR1 STREQUAL "set")
|
|
OR DEFINED VAR2)
|
|
message(SEND_ERROR "erroneous propagation for FUNC5")
|
|
endif()
|
|
|
|
|
|
function(FUNC6)
|
|
if(TRUE)
|
|
set(VAR1 "set")
|
|
unset(VAR2)
|
|
return(PROPAGATE VAR1 VAR2)
|
|
endif()
|
|
endfunction()
|
|
|
|
set(VAR1 "initial")
|
|
set(VAR2 "initial")
|
|
func6()
|
|
if((NOT DEFINED VAR1 OR NOT VAR1 STREQUAL "set")
|
|
OR DEFINED VAR2)
|
|
message(SEND_ERROR "erroneous propagation for FUNC6")
|
|
endif()
|
|
|
|
|
|
function(FUNC7)
|
|
if(FALSE)
|
|
else()
|
|
set(VAR1 "set")
|
|
unset(VAR2)
|
|
return(PROPAGATE VAR1 VAR2)
|
|
endif()
|
|
endfunction()
|
|
|
|
set(VAR1 "initial")
|
|
set(VAR2 "initial")
|
|
func7()
|
|
if((NOT DEFINED VAR1 OR NOT VAR1 STREQUAL "set")
|
|
OR DEFINED VAR2)
|
|
message(SEND_ERROR "erroneous propagation for FUNC7")
|
|
endif()
|
|
|
|
|
|
set(VAR1 "initial")
|
|
set(VAR2 "initial")
|
|
cmake_language(CALL func7)
|
|
if((NOT DEFINED VAR1 OR NOT VAR1 STREQUAL "set")
|
|
OR DEFINED VAR2)
|
|
message(SEND_ERROR "erroneous propagation for cmake_language(CALL FUNC7)")
|
|
endif()
|
|
|
|
|
|
set(VAR1 "initial")
|
|
set(VAR2 "initial")
|
|
cmake_language(EVAL CODE "
|
|
function(FUNC8)
|
|
set(VAR1 \"set\")
|
|
unset(VAR2)
|
|
return(PROPAGATE VAR1 VAR2)
|
|
endfunction()
|
|
|
|
func8()")
|
|
if((NOT DEFINED VAR1 OR NOT VAR1 STREQUAL "set")
|
|
OR DEFINED VAR2)
|
|
message(SEND_ERROR "erroneous propagation for cmake_language(EVAL CODE)")
|
|
endif()
|