31 lines
961 B
CMake
31 lines
961 B
CMake
function(TEST variable)
|
|
if(ARGC GREATER 2)
|
|
set(i 0)
|
|
foreach(value IN LISTS ${variable})
|
|
math(EXPR j "${i} + 1")
|
|
set(${variable}[${i}] "${value}")
|
|
TEST(${variable}[${i}] "${ARGV${j}}")
|
|
set(i ${j})
|
|
endforeach()
|
|
else()
|
|
set(expected "${ARGN}")
|
|
if("${expected}" STREQUAL "UNDEFINED")
|
|
if(DEFINED ${variable})
|
|
message(FATAL_ERROR "'${variable}' shall be undefined but has value '${${variable}}'")
|
|
endif()
|
|
elseif("${expected}" STREQUAL "FALSE")
|
|
if(NOT ${variable} STREQUAL "FALSE")
|
|
message(FATAL_ERROR "'${variable}' shall be FALSE")
|
|
endif()
|
|
elseif("${expected}" STREQUAL "TRUE")
|
|
if(NOT ${variable} STREQUAL "TRUE")
|
|
message(FATAL_ERROR "'${variable}' shall be TRUE")
|
|
endif()
|
|
else()
|
|
if(NOT ${variable} STREQUAL "${expected}")
|
|
message(FATAL_ERROR "'${variable}' shall be '${expected}'")
|
|
endif()
|
|
endif()
|
|
endif()
|
|
endfunction()
|