RunCMakeTest.cmake 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. include(RunCMake)
  2. run_cmake_script(newline)
  3. run_cmake(defaultmessage)
  4. run_cmake(nomessage)
  5. run_cmake(message-internal-warning)
  6. run_cmake(nomessage-internal-warning)
  7. run_cmake(warnmessage)
  8. # Have to explicitly give the command for the working dir to be honoured
  9. set(RunCMake_TEST_COMMAND_WORKING_DIRECTORY /)
  10. run_cmake_command(
  11. warnmessage-rootdir
  12. ${CMAKE_COMMAND} -P ${RunCMake_SOURCE_DIR}/warnmessage-rootdir.cmake
  13. )
  14. unset(RunCMake_TEST_COMMAND_WORKING_DIRECTORY)
  15. # message command sets fatal occurred flag, so check each type of error
  16. # separately
  17. run_cmake(errormessage_deprecated)
  18. run_cmake(errormessage_dev)
  19. foreach(opt IN ITEMS loglevel log-level)
  20. run_cmake_command(
  21. message-${opt}-invalid
  22. ${CMAKE_COMMAND} --${opt}=blah -P ${RunCMake_SOURCE_DIR}/message-all-loglevels.cmake
  23. )
  24. # Checking various combinations of `message(...)` and log levels `WARNING` to `TRACE`
  25. # - no CLI option -> `WARNING` to `STATUS` output
  26. run_cmake_command(
  27. message-${opt}-default
  28. ${CMAKE_COMMAND} -P ${RunCMake_SOURCE_DIR}/message-all-loglevels.cmake
  29. )
  30. # - Only `WARNING` output
  31. run_cmake_command(
  32. message-${opt}-warning
  33. ${CMAKE_COMMAND} --${opt}=warning -P ${RunCMake_SOURCE_DIR}/message-all-loglevels.cmake
  34. )
  35. # - Only `WARNING` and `NOTICE` output
  36. run_cmake_command(
  37. message-${opt}-notice
  38. ${CMAKE_COMMAND} --${opt}=notice -P ${RunCMake_SOURCE_DIR}/message-all-loglevels.cmake
  39. )
  40. # - `WARNING` to `STATUS` output
  41. run_cmake_command(
  42. message-${opt}-status
  43. ${CMAKE_COMMAND} --${opt}=status -P ${RunCMake_SOURCE_DIR}/message-all-loglevels.cmake
  44. )
  45. # - `WARNING` to `VERBOSE` output
  46. run_cmake_command(
  47. message-${opt}-verbose
  48. ${CMAKE_COMMAND} --${opt}=verbose -P ${RunCMake_SOURCE_DIR}/message-all-loglevels.cmake
  49. )
  50. # - `WARNING` to `DEBUG` output
  51. run_cmake_command(
  52. message-${opt}-debug
  53. ${CMAKE_COMMAND} --${opt}=debug -P ${RunCMake_SOURCE_DIR}/message-all-loglevels.cmake
  54. )
  55. # - `WARNING` to `TRACE` output
  56. run_cmake_command(
  57. message-${opt}-trace
  58. ${CMAKE_COMMAND} --${opt}=trace -P ${RunCMake_SOURCE_DIR}/message-all-loglevels.cmake
  59. )
  60. endforeach()
  61. run_cmake_command(
  62. message-log-level-override
  63. ${CMAKE_COMMAND} --log-level=debug -DCMAKE_MESSAGE_LOG_LEVEL=TRACE -P ${RunCMake_SOURCE_DIR}/message-all-loglevels.cmake
  64. )
  65. run_cmake_command(
  66. message-indent
  67. ${CMAKE_COMMAND} -P ${RunCMake_SOURCE_DIR}/message-indent.cmake
  68. )
  69. run_cmake_command(
  70. message-indent-multiline
  71. ${CMAKE_COMMAND} -P ${RunCMake_SOURCE_DIR}/message-indent-multiline.cmake
  72. )
  73. run_cmake_command(
  74. message-context-cli
  75. ${CMAKE_COMMAND} --log-level=trace --log-context -P ${RunCMake_SOURCE_DIR}/message-context.cmake
  76. )
  77. run_cmake_command(
  78. message-context-cache
  79. ${CMAKE_COMMAND} -DCMAKE_MESSAGE_LOG_LEVEL=TRACE -DCMAKE_MESSAGE_CONTEXT_SHOW=ON -P ${RunCMake_SOURCE_DIR}/message-context.cmake
  80. )
  81. run_cmake_command(
  82. message-context-cli-wins-cache
  83. ${CMAKE_COMMAND} --log-level=verbose --log-context -DCMAKE_MESSAGE_CONTEXT_SHOW=OFF -P ${RunCMake_SOURCE_DIR}/message-context.cmake
  84. )
  85. run_cmake_command(
  86. message-checks
  87. ${CMAKE_COMMAND} -P ${RunCMake_SOURCE_DIR}/message-checks.cmake
  88. )