I do a similar thing with an XSD file from which I generate c++ wrapper classes for accessing the corresponding XML
Note the DEPENDS line ! MACRO(XSD FILE NAMESPACE) ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/xml/${FILE}.cpp OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/xml/${FILE}.h DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/xml/${FILE}.xsd COMMAND ${XAPI_CODESYNTH}/bin/xsd ARGS cxx-tree --generate-serialization --hxx-suffix .h --cxx-suffix .cpp --fwd-suffix -fwd.hxx --type-naming java --function-naming java --namespace-map =${NAMESPACE} --generate-polymorphic --output-dir ${CMAKE_CURRENT_SOURCE_DIR}/xml ${CMAKE_CURRENT_SOURCE_DIR}/xml/${FILE}.xsd COMMENT "generating Codesynthesis Wrappers") ENDMACRO(XSD) > -----Original Message----- > From: cmake-boun...@cmake.org > [mailto:cmake-boun...@cmake.org] On Behalf Of Marcel Loose > Sent: Friday, January 15, 2010 2:55 PM > To: cmake@cmake.org > Subject: [CMake] How to regenerate source file during make? > > Hi all, > > I've been struggling with this for hours now and I can't seem > to get a grip on it. > > I have a header file that must be (re)generated during 'make' > when some external data have changed. I can successfully > generate this file during 'cmake' using configure_file(), but > I haven't been able to figure out how I can trigger the > configure_file() during make. > > Should I define a target for this header file? Or can I > specify some kind of file dependency, such that when the > header file is missing our out-of-date, it will be (re)generated? > > I guess it must be some clever combination of > add_custom_command() and add_custom_target(). > > Best regards, > Marcel Loose. > > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the CMake FAQ at: > http://www.cmake.org/Wiki/CMake_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.cmake.org/mailman/listinfo/cmake > _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake