RunCMakeTest.cmake 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. include(RunCMake)
  2. run_cmake(no_parameters)
  3. run_cmake(unknown_meta_operation)
  4. foreach(command IN ITEMS
  5. "function" "ENDFUNCTION"
  6. "macro" "endMACRO"
  7. "if" "elseif" "else" "endif"
  8. "while" "endwhile"
  9. "foreach" "endforeach"
  10. "block" "endblock"
  11. )
  12. message(STATUS "Running call_invalid_command for ${command}...")
  13. run_cmake_with_options(call_invalid_command -Dcommand=${command})
  14. endforeach()
  15. run_cmake(call_valid_command)
  16. run_cmake(call_double_evaluation)
  17. run_cmake(call_expanded_command)
  18. run_cmake(call_expanded_command_and_arguments)
  19. run_cmake(call_expanded_command_with_explicit_argument)
  20. run_cmake(call_expand_command_name)
  21. run_cmake(call_expand_function_name)
  22. run_cmake(call_message)
  23. run_cmake(call_message_fatal_error)
  24. run_cmake(call_no_parameters)
  25. run_cmake(call_preserve_arguments)
  26. run_cmake(call_unknown_function)
  27. run_cmake(eval_expand_command_name)
  28. run_cmake(eval_expanded_command_and_arguments)
  29. run_cmake(eval_extra_parameters_between_eval_and_code)
  30. run_cmake(eval_message)
  31. run_cmake(eval_message_fatal_error)
  32. run_cmake(eval_no_code)
  33. run_cmake(eval_no_parameters)
  34. run_cmake(eval_variable_outside_message)
  35. run_cmake(defer_call)
  36. run_cmake(defer_call_add_subdirectory)
  37. run_cmake(defer_call_enable_language)
  38. run_cmake(defer_call_ids)
  39. foreach(command IN ITEMS
  40. "function" "endfunction"
  41. "macro" "endmacro"
  42. "if" "elseif" "else" "endif"
  43. "while" "endwhile"
  44. "foreach" "endforeach"
  45. "block" "endblock"
  46. "return"
  47. )
  48. message(STATUS "Running defer_call_invalid_command for ${command}...")
  49. run_cmake_with_options(defer_call_invalid_command -Dcommand=${command})
  50. endforeach()
  51. run_cmake(defer_call_invalid_directory)
  52. run_cmake(defer_call_error)
  53. run_cmake(defer_call_missing_directory)
  54. run_cmake(defer_call_policy_PUSH)
  55. run_cmake(defer_call_syntax_error)
  56. run_cmake_with_options(defer_call_trace --trace-expand)
  57. run_cmake_with_options(defer_call_trace_json --trace --trace-format=json-v1)
  58. run_cmake(defer_cancel_call_unknown_argument)
  59. run_cmake(defer_cancel_call_invalid_directory)
  60. run_cmake(defer_cancel_call_id)
  61. run_cmake(defer_cancel_call_id_var)
  62. run_cmake(defer_directory_empty)
  63. run_cmake(defer_directory_missing)
  64. run_cmake(defer_directory_multiple)
  65. run_cmake(defer_id_empty)
  66. run_cmake(defer_id_missing)
  67. run_cmake(defer_id_multiple)
  68. run_cmake(defer_id_var_empty)
  69. run_cmake(defer_id_var_missing)
  70. run_cmake(defer_id_var_multiple)
  71. run_cmake(defer_get_call_ids_missing_var)
  72. run_cmake(defer_get_call_ids_too_many_args)
  73. run_cmake(defer_get_call_ids_invalid_directory)
  74. run_cmake(defer_get_call_ids_id)
  75. run_cmake(defer_get_call_ids_id_var)
  76. run_cmake(defer_get_call_missing_id)
  77. run_cmake(defer_get_call_missing_var)
  78. run_cmake(defer_get_call_too_many_args)
  79. run_cmake(defer_get_call_id_empty)
  80. run_cmake(defer_get_call_unknown_argument)
  81. run_cmake(defer_get_call_id)
  82. run_cmake(defer_get_call_id_var)
  83. run_cmake(defer_missing_arg)
  84. run_cmake(defer_missing_call)
  85. run_cmake(defer_unknown_option)
  86. run_cmake(exit_0)
  87. run_cmake(exit_5)
  88. run_cmake_script(exit_0_script)
  89. run_cmake_script(exit_5_script)
  90. run_cmake_script(exit_0_script_with_command)
  91. run_cmake_script(exit_7_script_in_include)
  92. run_cmake_script(exit_8_script_in_recursive_cmake_language)
  93. # Default log level
  94. run_cmake_command(
  95. get_message_log_level_none
  96. ${CMAKE_COMMAND}
  97. -P ${RunCMake_SOURCE_DIR}/get_message_log_level.cmake
  98. )
  99. # Log level from cache
  100. run_cmake_command(
  101. get_message_log_level_cache
  102. ${CMAKE_COMMAND}
  103. -DCMAKE_MESSAGE_LOG_LEVEL=TRACE
  104. -P ${RunCMake_SOURCE_DIR}/get_message_log_level.cmake
  105. )
  106. # Log level from regular variable
  107. run_cmake_command(
  108. get_message_log_level_var
  109. ${CMAKE_COMMAND}
  110. -DNEW_LOG_LEVEL=TRACE
  111. -P ${RunCMake_SOURCE_DIR}/get_message_log_level.cmake
  112. )
  113. # Log level from command line
  114. run_cmake_command(
  115. get_message_log_level_cli
  116. ${CMAKE_COMMAND}
  117. --log-level=DEBUG
  118. -P ${RunCMake_SOURCE_DIR}/get_message_log_level.cmake
  119. )
  120. # Log level from command line, it has higher priority over a cache variable
  121. run_cmake_command(
  122. get_message_log_level_cli_and_cache
  123. ${CMAKE_COMMAND}
  124. --log-level=DEBUG
  125. -DCMAKE_MESSAGE_LOG_LEVEL=TRACE
  126. -P ${RunCMake_SOURCE_DIR}/get_message_log_level.cmake
  127. )
  128. # Log level from command line, it has higher priority over a regular variable
  129. run_cmake_command(
  130. get_message_log_level_cli_and_var
  131. ${CMAKE_COMMAND}
  132. --log-level=DEBUG
  133. -DNEW_LOG_LEVEL=TRACE
  134. -P ${RunCMake_SOURCE_DIR}/get_message_log_level.cmake
  135. )
  136. # Log level from variable, it has higher priority over a cache variable
  137. run_cmake_command(
  138. get_message_log_level_var_and_cache
  139. ${CMAKE_COMMAND}
  140. -DNEW_LOG_LEVEL=DEBUG
  141. -DCMAKE_MESSAGE_LOG_LEVEL=TRACE
  142. -P ${RunCMake_SOURCE_DIR}/get_message_log_level.cmake
  143. )