1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-14 02:08:27 +08:00
Files
CMake/Tests/CMakeTests/EndStuffTestScript.cmake
Chuck Atkins 72e7c45e98 Tests: Bump CMake minimum required in tests to 2.8.12
Since 3.19, CMake generates a deprecation warning when using a minimum
version less than 2.8.12.  This eliminates those warnings generated
during tests, which are typically hidden from the user and developer but
are being generated nonetheless.
2020-12-23 08:55:45 -05:00

43 lines
1.1 KiB
CMake

message(STATUS "testname='${testname}'")
function(do_end content)
file(WRITE "${dir}/${testname}.cmake" "${content}")
execute_process(COMMAND ${CMAKE_COMMAND} -P "${dir}/${testname}.cmake"
RESULT_VARIABLE rv)
if(NOT rv EQUAL 0)
message(FATAL_ERROR "${testname} failed")
endif()
endfunction()
if(testname STREQUAL bad_else) # fail
do_end("else()\n")
elseif(testname STREQUAL bad_elseif) # fail
do_end("elseif()\n")
elseif(testname STREQUAL bad_endforeach) # fail
do_end("endforeach()\n")
elseif(testname STREQUAL bad_endfunction) # fail
do_end("endfunction()\n")
elseif(testname STREQUAL bad_endif) # fail
do_end("cmake_minimum_required(VERSION 2.8.12)\nendif()\n")
elseif(testname STREQUAL endif_low_min_version) # fail
do_end("cmake_minimum_required(VERSION 1.2)\nendif()\n")
elseif(testname STREQUAL endif_no_min_version) # fail
do_end("endif()\n")
elseif(testname STREQUAL bad_endmacro) # fail
do_end("endmacro()\n")
elseif(testname STREQUAL bad_endwhile) # fail
do_end("endwhile()\n")
else() # fail
message(FATAL_ERROR "testname='${testname}' - error: no such test in '${CMAKE_CURRENT_LIST_FILE}'")
endif()