| 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() |