[CMake] how to add capability to generate preprocessed and not-yet-compiled files ?

John Ellson ellson at research.att.com
Fri Jul 7 09:54:31 EDT 2006


Brad King wrote:
> Alexander Neundorf wrote:
>> Hi,
>>
>> it would be nice if it would be possible to have for each object file 
>> also a target which only preprocesses the file and one which 
>> preprocesses and compiles, but not assembles the file (so that you 
>> get the assembler code).
>>
>> Is there a way to do this with macros ? I almost think this would 
>> have to be done in cmake itself. Probably somewhere where the object 
>> rules are created additionally for each object the same rule but with 
>> "-E" instead of "-c" would have to be created. It wouldn't be 
>> required to be executed on all, just on direct invocation:
>> make foo.o/pre
>> make foo.o/as
>>
>>
>> What do you think about this ?
>> Would you accept a patch ?
>
> Look in Modules/CMakeCInformation.cmake for the variable 
> CMAKE_C_COMPILE_OBJECT.  Other modules in the Platform directory set 
> it also.  Just duplicate the variable with one called 
> CMAKE_C_PREPROCESS_OBJECT and then setup 
> cmLocalUnixMakefileGenerator3.cxx to create rules with ".E" extensions 
> instead of ".o".  You should be able to locate places that lookup 
> *_COMPILE_OBJECT vars.  See Modules/CMakeCXXInformation.cmake for the 
> C++ version.

Not sure that I'm following the converstation properly here, but
can any of this be used to provide access to a set of .o for use as a 
"convenience library" ?

John


More information about the CMake mailing list