CMP0054-NEW.cmake 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. cmake_policy(SET CMP0054 NEW)
  2. set(FOO "BAR")
  3. set(BAZ "ZZZ")
  4. set(MYTRUE ON)
  5. set(MYNUMBER 3)
  6. set(MYVERSION 3.0)
  7. function(assert_unquoted PREFIX FIRST)
  8. string(REPLACE ";" " " ARGN_SP "${ARGN}")
  9. if(${PREFIX} ${FIRST} ${ARGN})
  10. message(FATAL_ERROR "Assertion failed [${PREFIX} ${FIRST} ${ARGN_SP}]")
  11. endif()
  12. endfunction()
  13. function(assert_quoted PREFIX FIRST)
  14. string(REPLACE ";" " " ARGN_SP "${ARGN}")
  15. if(${PREFIX} "${FIRST}" ${ARGN})
  16. message(FATAL_ERROR "Assertion failed [${PREFIX} \"${FIRST}\" ${ARGN_SP}]")
  17. endif()
  18. endfunction()
  19. function(assert FIRST)
  20. assert_unquoted(NOT ${FIRST} ${ARGN})
  21. assert_quoted("" ${FIRST} ${ARGN})
  22. endfunction()
  23. assert(MYTRUE)
  24. assert(FOO MATCHES "^BAR$")
  25. assert(MYNUMBER LESS 4)
  26. assert(MYNUMBER GREATER 2)
  27. assert(MYNUMBER EQUAL 3)
  28. assert(FOO STRLESS CCC)
  29. assert(BAZ STRGREATER CCC)
  30. assert(FOO STREQUAL BAR)
  31. assert_unquoted(NOT MYVERSION VERSION_LESS 3.1)
  32. assert_unquoted("" MYVERSION VERSION_LESS 2.9)
  33. assert_quoted(NOT MYVERSION VERSION_LESS 2.9)
  34. assert_quoted(NOT MYVERSION VERSION_LESS 3.1)
  35. assert(MYVERSION VERSION_GREATER 2.9)
  36. assert(MYVERSION VERSION_EQUAL 3.0)