[CMake] Why is this custom command run twice?

Aaron_Wright at selinc.com Aaron_Wright at selinc.com
Wed Apr 21 23:12:03 EDT 2010


I'm trying to do something a little weird, and I'm almost there but not 
quite. I'm trying to generate a file and then run a command based on that 
file. I only want the command to run when the file changes and thus the 
generated file changes. Instead the first build I get both custom commands 
run, and then on a second build, the second custom command runs again, 
which is not what I want. 

This is what I got (just an example):


ADD_CUSTOM_COMMAND(
   OUTPUT "${PROJECT_BINARY_DIR}/generated.txt"
   COMMAND ${CMAKE_COMMAND} -E touch "${PROJECT_BINARY_DIR}/generated.txt"
   DEPENDS "${PROJECT_SOURCE_DIR}/generated.txt")
 
ADD_CUSTOM_COMMAND(
   OUTPUT "${PROJECT_BINARY_DIR}/generated_used.stamp"
   COMMAND ${CMAKE_COMMAND} -E touch 
"${PROJECT_BINARY_DIR}/generated_used.stamp"
   DEPENDS "${PROJECT_BINARY_DIR}/generated.txt"
   COMMENT "Using generated.txt")

ADD_CUSTOM_TARGET(
   ${PROJECT_NAME}
   DEPENDS "${PROJECT_BINARY_DIR}/generated_used.stamp")


What I'm I missing? Thanks
-------------------------------------------------------------
Aaron Wright
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20100421/5fc7524b/attachment.htm>


More information about the CMake mailing list