Jelajahi Sumber

Add a test to expose a bug with add_custom_command and ninja.

Ninja Generator is unable to handle an add_custom_command having
a dependency that is generated at build time by a previous target.
Robert Maynard 12 tahun lalu
induk
melakukan
88d27ad014
1 mengubah file dengan 13 tambahan dan 0 penghapusan
  1. 13 0
      Tests/CustomCommand/CMakeLists.txt

+ 13 - 0
Tests/CustomCommand/CMakeLists.txt

@@ -123,6 +123,19 @@ add_custom_command(
   COMMENT "Running TDocument post-build commands"
   )
 
+# Setup a custom target that will fail if the POST_BUILD custom command
+# isn't run before it.
+add_custom_command(
+  OUTPUT doc3post.txt
+  DEPENDS ${PROJECT_BINARY_DIR}/doc2post.txt
+  COMMAND ${CMAKE_COMMAND} -E echo " Copying doc2pre.txt to doc3post.txt."
+  COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_BINARY_DIR}/doc2post.txt
+                                   ${PROJECT_BINARY_DIR}/doc3post.txt
+  COMMENT "Running TDocument post-build dependent custom command"
+  )
+add_custom_target(doc3Post ALL DEPENDS doc3post.txt)
+add_dependencies(doc3Post TDocument)
+
 ################################################################
 #
 #  Test using a multistep generated file