What is the right pattern to use in cmake to create a custom rule for converting a bunch of files?<br><br><br> In make I can define a custome rule for file types. <br> What is the right way to do this in cmake? <br>
<br>I can create a macro, but I'm unsure how to properly connect it to a target. I can't seem to put it in a custom target.<br><br><span style="font-weight: bold; text-decoration: underline;">Example: automake:</span><br>
<div style="margin-left: 80px;">.xml.h:<br> cat base.xml $< > $.hprep<br> transmogrify $*.hprep<br></div><br><span style="font-weight: bold; text-decoration: underline;">My Cmake (which doesn't work)</span><br>
<div style="margin-left: 80px;">MACRO(GENERATE_H XMLFILES)<br> SET(BASE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/base.xml)<br> FOREACH(FILE ${XMLFILES})<br> # File name without the extension<br> GET_FILENAME_COMPONENT(TMP_FILENAME ${FILE} NAME_WE)
<br><br> # the input file might be full path, so handle that<br> GET_FILENAME_COMPONENT(TMP_FILENAME ${FILE} PATH)<br><br> # determine input filename<br> IF (TMP_FILEPATH)<br> SET(TMP_PATH ${TMP_FILEPATH}/${TMP_FILENAME}.xml)
<br> ELSE(TMP_FILEPATH)<br> SET(TMP_PATH ${CONNECTED_SOURCE_DIR}/${TMP_FILENAME}.xml)<br> ENDIF(TMP_FILEPATH)<br><br> # Build the mch file<br> ADD_CUSTOM_COMMAND(<br> OUTPUT ${TMP_ PATH}<br> DEPENDS ${MCH_HEADER}
<br> COMMAND cat<br> ARGS ${BASE_PATH} ${FILE}<br> )<br><br> # Convert <br> ADD_CUSTOM_COMMAND(<br> OUTPUT tmpFile<br> COMMAND transmogrify<br> ARGS ${TMP_MCFILE}<br> )
<br> ENDFOREACH(FILE)<br>ENDMACRO(GENERATE_H)<br><br><br></div><br><br><br>-- <br>Peter Kahn<br><a href="mailto:citizenkahn@gmail.com">citizenkahn@gmail.com</a><br><a href="mailto:citizenkahn@jabber80.com">citizenkahn@jabber80.com
</a>, pkahnpie1@AIM, skype: citizenkahn<br><a href="http://analogoustendencies.blogspot.com/">http://analogoustendencies.blogspot.com/</a><br><br>