[CMake] how to add capability to generate
preprocessed and not-yet-compiled files ?
Brad King
brad.king at kitware.com
Fri Jul 7 10:01:35 EDT 2006
John Ellson wrote:
> 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" ?
No, these variables are used to specify rules for the generators to put
in the build files.
-Brad
More information about the CMake
mailing list