CacheSetUnset.cmake 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. set(CACHE{VAR1} VALUE v1 v2)
  2. if(NOT DEFINED CACHE{VAR1})
  3. message(SEND_ERROR "CACHE{VAR1} not defined")
  4. endif()
  5. get_property(type CACHE VAR1 PROPERTY TYPE)
  6. if(NOT type STREQUAL "STRING")
  7. message(SEND_ERROR "CACHE{VAR1} TYPE should be \"STRING\", not \"${type}\"")
  8. endif()
  9. set(CACHE{VAR1} VALUE v3 v4)
  10. if(NOT "$CACHE{VAR1}" STREQUAL "v1;v2")
  11. message(SEND_ERROR "CACHE{VAR1} value should be \"v1;v2\", not \"$CACHE{VAR1}\"")
  12. endif()
  13. set(CACHE{VAR1} FORCE VALUE v3 v4)
  14. if(NOT "$CACHE{VAR1}" STREQUAL "v3;v4")
  15. message(SEND_ERROR "CACHE{VAR1} value should be \"v3;v4\", not \"$CACHE{VAR1}\"")
  16. endif()
  17. set(CACHE{VAR1} FORCE VALUE)
  18. if(NOT DEFINED CACHE{VAR1})
  19. message(SEND_ERROR "CACHE{VAR1} not defined")
  20. endif()
  21. if(NOT "$CACHE{VAR1}" STREQUAL "")
  22. message(SEND_ERROR "CACHE{VAR1} value should be \"\", not \"$CACHE{VAR1}\"")
  23. endif()
  24. unset(CACHE{VAR1})
  25. if(DEFINED CACHE{VAR1})
  26. message(SEND_ERROR "CACHE{VAR1} defined")
  27. endif()
  28. set(CACHE{VAR2} TYPE PATH HELP "help1 " "help2" VALUE v1 v2)
  29. if(NOT DEFINED CACHE{VAR2})
  30. message(SEND_ERROR "CACHE{VAR2} not defined")
  31. endif()
  32. get_property(type CACHE VAR2 PROPERTY TYPE)
  33. if(NOT type STREQUAL "PATH")
  34. message(SEND_ERROR "CACHE{VAR2} TYPE should be \"PATH\", not \"${type}\"")
  35. endif()
  36. get_property(help CACHE VAR2 PROPERTY HELPSTRING)
  37. if(NOT help STREQUAL "help1 help2")
  38. message(SEND_ERROR "CACHE{VAR2} HELP should be \"help1 help2\", not \"${help}\"")
  39. endif()
  40. if(NOT "$CACHE{VAR2}" STREQUAL "v1;v2")
  41. message(SEND_ERROR "CACHE{VAR2} value should be \"v1;v2\", not \"$CACHE{VAR2}\"")
  42. endif()
  43. set(CACHE{VAR2} FORCE VALUE v3 v4)
  44. if(NOT "$CACHE{VAR2}" STREQUAL "v3;v4")
  45. message(SEND_ERROR "CACHE{VAR2} value should be \"v3;v4\", not \"$CACHE{VAR2}\"")
  46. endif()
  47. get_property(type CACHE VAR2 PROPERTY TYPE)
  48. if(NOT type STREQUAL "PATH")
  49. message(SEND_ERROR "CACHE{VAR2} TYPE should be \"PATH\", not \"${type}\"")
  50. endif()
  51. get_property(help CACHE VAR2 PROPERTY HELPSTRING)
  52. if(NOT help STREQUAL "help1 help2")
  53. message(SEND_ERROR "CACHE{VAR2} HELP should be \"help1 help2\", not \"${help}\"")
  54. endif()
  55. unset(CACHE{VAR2})
  56. if(DEFINED CACHE{VAR2})
  57. message(SEND_ERROR "CACHE{VAR2} defined")
  58. endif()
  59. set(CACHE{VAR3} TYPE INTERNAL HELP "help" VALUE v1 v2)
  60. if(NOT DEFINED CACHE{VAR3})
  61. message(SEND_ERROR "CACHE{VAR3} not defined")
  62. endif()
  63. set(CACHE{VAR3} VALUE v3 v4)
  64. if(NOT "$CACHE{VAR3}" STREQUAL "v3;v4")
  65. message(SEND_ERROR "CACHE{VAR3} value should be \"v3;v4\", not \"$CACHE{VAR3}\"")
  66. endif()
  67. get_property(type CACHE VAR3 PROPERTY TYPE)
  68. if(NOT type STREQUAL "INTERNAL")
  69. message(SEND_ERROR "CACHE{VAR3} TYPE should be \"INTERNAL\", not \"${type}\"")
  70. endif()