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

Brad King brad.king at kitware.com
Wed Aug 9 14:03:23 EDT 2006


Brad King wrote:
> Alexander Neundorf wrote:
>> Von: Brad King <brad.king at kitware.com>
>>
>>> Alexander Neundorf wrote:
>>>> Attached is a first try of a patch against 2.4 branch.
>>>> It introduces two new variables CMAKE_CREATE_PREPROCESS_RULES and
>>> CMAKE_CREATE_ASSEMBLE_RULES. I think especially the name
>>> CMAKE_CREATE_ASSEMBLE_RULES is not good (since actually everything except assembling is done).
>>>> The created files are named foo.o.E and foo.o.S (was easier than to
>>> replace the suffix.
>>>> I know only the compiler switches for gcc, so I added them only in
>>> gcc.cmake.
>>>
>>> I've committed changes similar to those in your patch to add this
>>> feature.  The rules are always added and just print a message that they
>>> are not implemented if a given platform does not provide the rule
>>> variables.
>> Thank you very much :-)
>> I didn't have a look at it yet.
>> Does "always" mean they are always created, i.e. they can't be disabled at all ?
>> This would probably increase the cmake time for big projects for everybody which might cause complaints.
> 
> Okay, I've added the options CMAKE_SKIP_PREPROCESSED_SOURCE_RULES and
> CMAKE_SKIP_ASSEMBLY_SOURCE_RULES to allow projects to disable generation
> of .E and .S rules.

I've renamed the rules to be foo.i for preprocessing and foo.s for
assembly.  These names are consistent across many compilers' defaults.
I've also enabled the rules for GCC on all platforms, SGI MIPSpro, Sun
CC, IBM VisualAge, HP CC, and MSVC (under nmake because the IDE already
supports it).

-Brad


More information about the CMake mailing list