diff options
author | Brad King <brad.king@kitware.com> | 2009-03-06 15:04:06 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2009-03-06 15:04:06 (GMT) |
commit | ca3b93d9c6a816afd7a07bf218c8884510219cf4 (patch) | |
tree | f88d3af0bdb2bb57b17cb737e762901317593dd4 /Tests/CMakeTests | |
parent | 62702551dbf77632f566c92aa2c2555f23fe1557 (diff) | |
download | CMake-ca3b93d9c6a816afd7a07bf218c8884510219cf4.zip CMake-ca3b93d9c6a816afd7a07bf218c8884510219cf4.tar.gz CMake-ca3b93d9c6a816afd7a07bf218c8884510219cf4.tar.bz2 |
ENH: Teach message() how to display warnings
This adds message(WARNING) and message(AUTHOR_WARNING) command modes and
fully documents the command behavior in all modes.
Diffstat (limited to 'Tests/CMakeTests')
-rw-r--r-- | Tests/CMakeTests/CMakeLists.txt | 1 | ||||
-rw-r--r-- | Tests/CMakeTests/MessageTest.cmake.in | 30 | ||||
-rw-r--r-- | Tests/CMakeTests/MessageTestScript.cmake | 4 |
3 files changed, 35 insertions, 0 deletions
diff --git a/Tests/CMakeTests/CMakeLists.txt b/Tests/CMakeTests/CMakeLists.txt index e8ed3a3..e197302 100644 --- a/Tests/CMakeTests/CMakeLists.txt +++ b/Tests/CMakeTests/CMakeLists.txt @@ -16,6 +16,7 @@ AddCMakeTest(FindBase "") AddCMakeTest(Toolchain "") AddCMakeTest(GetFilenameComponentRealpath "") AddCMakeTest(Version "") +AddCMakeTest(Message "") SET(GetPrerequisites_PreArgs "-DCTEST_CONFIGURATION_TYPE:STRING=\\\${CTEST_CONFIGURATION_TYPE}" diff --git a/Tests/CMakeTests/MessageTest.cmake.in b/Tests/CMakeTests/MessageTest.cmake.in new file mode 100644 index 0000000..a9833b9 --- /dev/null +++ b/Tests/CMakeTests/MessageTest.cmake.in @@ -0,0 +1,30 @@ +execute_process( + COMMAND ${CMAKE_COMMAND} -P + "@CMAKE_CURRENT_SOURCE_DIR@/MessageTestScript.cmake" + OUTPUT_VARIABLE out + ERROR_VARIABLE err + RESULT_VARIABLE result + ) + +message("out=[${out}]") +message("err=[${err}]") + +if(NOT "${result}" STREQUAL "0") + message(FATAL_ERROR "message script failed: [${result}]") +endif() + +if(NOT "${out}" MATCHES "message-status") + message(FATAL_ERROR "message(STATUS) did not go to stdout") +endif() + +if(NOT "${err}" MATCHES "message-default") + message(FATAL_ERROR "message() did not go to stderr by default") +endif() + +if(NOT "${err}" MATCHES "CMake Warning at[^\n]*:\r?\n message-warning") + message(FATAL_ERROR "message(WARNING) did not appear properly") +endif() + +if(NOT "${err}" MATCHES "CMake Warning \\(dev\\) at[^\n]*:\r?\n message-author") + message(FATAL_ERROR "message(AUTHOR_WARNING) did not appear properly") +endif() diff --git a/Tests/CMakeTests/MessageTestScript.cmake b/Tests/CMakeTests/MessageTestScript.cmake new file mode 100644 index 0000000..c56f88e --- /dev/null +++ b/Tests/CMakeTests/MessageTestScript.cmake @@ -0,0 +1,4 @@ +message("message-default") +message(STATUS "message-status") +message(WARNING "message-warning") +message(AUTHOR_WARNING "message-author") |