| cmake_policy(SET CMP0054 NEW) |
| |
| set(FOO "BAR") |
| set(BAZ "ZZZ") |
| set(MYTRUE ON) |
| set(MYNUMBER 3) |
| set(MYVERSION 3.0) |
| |
| function(assert_unquoted PREFIX FIRST) |
| string(REPLACE ";" " " ARGN_SP "${ARGN}") |
| if(${PREFIX} ${FIRST} ${ARGN}) |
| message(FATAL_ERROR "Assertion failed [${PREFIX} ${FIRST} ${ARGN_SP}]") |
| endif() |
| endfunction() |
| |
| function(assert_quoted PREFIX FIRST) |
| string(REPLACE ";" " " ARGN_SP "${ARGN}") |
| if(${PREFIX} "${FIRST}" ${ARGN}) |
| message(FATAL_ERROR "Assertion failed [${PREFIX} \"${FIRST}\" ${ARGN_SP}]") |
| endif() |
| endfunction() |
| |
| function(assert FIRST) |
| assert_unquoted(NOT ${FIRST} ${ARGN}) |
| assert_quoted("" ${FIRST} ${ARGN}) |
| endfunction() |
| |
| assert(MYTRUE) |
| |
| assert(FOO MATCHES "^BAR$") |
| |
| assert(MYNUMBER LESS 4) |
| assert(MYNUMBER GREATER 2) |
| assert(MYNUMBER EQUAL 3) |
| |
| assert(FOO STRLESS CCC) |
| assert(BAZ STRGREATER CCC) |
| assert(FOO STREQUAL BAR) |
| |
| assert_unquoted(NOT MYVERSION VERSION_LESS 3.1) |
| assert_unquoted("" MYVERSION VERSION_LESS 2.9) |
| |
| assert_quoted(NOT MYVERSION VERSION_LESS 2.9) |
| assert_quoted(NOT MYVERSION VERSION_LESS 3.1) |
| |
| assert(MYVERSION VERSION_GREATER 2.9) |
| assert(MYVERSION VERSION_EQUAL 3.0) |