[CMake] Generating Source Files

Bill Hoffman bill.hoffman at kitware.com
Wed Apr 8 19:21:17 EDT 2009


Jeremy Cowgar wrote:

> 
> Ah! That caused it to work. I'm terribly sorry about that. Now, I have 
> just one more question, hopefully, about this whole process. parser.e is 
> only one of the files that could possibly trigger a retranslation. The 
> entire list is:
> 
> SET( EU_CORE_FILES common.e emit.e error.e fwdref.e global.e inline.e 
> keylist.e main.e mode.e
>  opnames.e parser.e pathopen.e reswords.e scanner.e scinot.e shift.e 
> symtab.e )
> 
> Should I make each one of those a CONFIGURE_FILE() ?
Yes, that is the only way to make it work right now.  It would be nice 
to be able to add an arbitrary file that cmake would re-run when it 
changes.  Please create a feature request for this.  However, for now 
configure_file input is the only way to get your files in the list of 
files that are checked with each make run.
> 
> Also, if I could offer a suggestion, maybe it's harder than it sounds, 
> but on your ADD_CUSTOM_COMMAND, this whole process would be much, much, 
> much simpler if you had the ability to run, say a MACRO() after the 
> custom command is done building. If I could do that, I would simply 
> create a macro that does FILE( GLOB EU_INT_FILES interpreter/*.c )  or 
> something to that effect.
> 

Problem is CMake is not running at build time.  It creates makefiles and 
it is done.   Even if you could run the glob, that would not solve your 
problem.  The exception to this rule is that cmake is re-run if any of 
its input files (configure_file, include, CMakeLists.txt, etc) are 
changed.

-Bill


More information about the CMake mailing list