summaryrefslogtreecommitdiff
path: root/Tests/RunCMake/Ninja/CheckOutput.cmake
diff options
context:
space:
mode:
authorNicolas Despres <nicolas.despres@gmail.com>2016-05-14 01:18:20 +0200
committerBrad King <brad.king@kitware.com>2016-05-17 09:34:12 -0400
commit8a862a4d4b852c9f61ae4ed7fc46042b00a83123 (patch)
tree591906a0300c9619e57394105455d93126dab939 /Tests/RunCMake/Ninja/CheckOutput.cmake
parent038e7716e58e4cf79bda6ba72b92814a14978a8f (diff)
downloadcmake-8a862a4d4b852c9f61ae4ed7fc46042b00a83123.tar.gz
Ninja: Support embedding of CMake as subninja project
Add a `CMAKE_NINJA_OUTPUT_PATH_PREFIX` variable. When it is set, CMake generates a `build.ninja` file suitable for embedding into another ninja project potentially generated by an alien generator.
Diffstat (limited to 'Tests/RunCMake/Ninja/CheckOutput.cmake')
-rw-r--r--Tests/RunCMake/Ninja/CheckOutput.cmake23
1 files changed, 23 insertions, 0 deletions
diff --git a/Tests/RunCMake/Ninja/CheckOutput.cmake b/Tests/RunCMake/Ninja/CheckOutput.cmake
new file mode 100644
index 0000000000..ddb35a75ed
--- /dev/null
+++ b/Tests/RunCMake/Ninja/CheckOutput.cmake
@@ -0,0 +1,23 @@
+# Add rules to check the generated executable works.
+
+set(hello_output "${CMAKE_CURRENT_BINARY_DIR}/hello.output")
+add_custom_command(
+ OUTPUT "${hello_output}"
+ COMMAND "$<TARGET_FILE:hello>" > "${hello_output}"
+ DEPENDS hello
+ VERBATIM
+ )
+
+if(NOT DEFINED HELLO_OUTPUT_STRING)
+ set(HELLO_OUTPUT_STRING "Hello world!\n")
+endif()
+
+set(hello_output_ref "${CMAKE_CURRENT_BINARY_DIR}/hello.output.ref")
+file(WRITE "${hello_output_ref}" "${HELLO_OUTPUT_STRING}")
+
+add_custom_target(check_output ALL
+ COMMAND "${CMAKE_COMMAND}" -E compare_files
+ "${hello_output}" "${hello_output_ref}"
+ DEPENDS "${hello_output}" "${hello_output_ref}"
+ VERBATIM
+ )