[CMake] Need help with dependency of generated header file

j s j.s4403 at gmail.com
Mon Apr 21 12:36:22 EDT 2014


I'm trying to port a legacy project to using cmake.  The header files
are needed by the sources.
The header files are generated so that the source file can compile.

The header files are regenerated if its dependency is changed.  This
doesn't cause the source file to be rebuilt, even though it depends on
these header files.

I'm using cmake 2.8.10


SET(SRCS
foo.c
)

ADD_CUSTOM_COMMAND(
  OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/foomsgId.h
${CMAKE_CURRENT_SOURCE_DIR}/foomsgDef.h
  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
  COMMAND ${MSG_CONVERT}
  ARGS foomessages.txt
  DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/foomessages.txt
)

ADD_CUSTOM_TARGET(
  generate_foo_messages
  DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/foomsgId.h
${CMAKE_CURRENT_SOURCE_DIR}/foomsgDef.h
)

ADD_LIBRARY(foo SHARED ${SRCS})
SET_TARGET_PROPERTIES(foo PROPERTIES PREFIX "" SUFFIX ".so" OUTPUT_NAME "foo")
ADD_DEPENDENCIES(foo generate_foo_messages)


More information about the CMake mailing list