[CMake] Toggling a Preprocessor macro for targets within a single project
Christian Ehrlicher
Ch.Ehrlicher at gmx.de
Fri Feb 20 08:51:33 EST 2009
Michael Jackson schrieb:
>
> On Feb 20, 2009, at 4:59 AM, Eric Noulard wrote:
>
>> 2009/2/20 Christian Ehrlicher <Ch.Ehrlicher at gmx.de>:
>>>> Von: Andreas Pokorny
>>>> Hello,
>>>> Wow that was fast. Thanks a lot.
>>
>> Obviously I was too fast reading the doc :-)
>>
>>>>> [...]
>>>>>
>>>>> SET_TARGET_PROPERTIES(PlatformLib PROPERTIES
>>>>> DEFINE_SYMBOL USE_TRACER)
>>>>>
>>>>> Then you shouldn't have to ADD_DEFINITIONS and REMOVE_DEFINITIONS?
>>>>
>>>>
>>>> I do not understand why.. but DEFINE_SYMBOL did not work, but
>>>> COMPILE_FLAGS -DUSE_TRACER
>>>> did. So SET_TARGET_PROPERTIES is the sledgehammer for getting it
>>>> done :)
>>>>
>>> DEFINE_SYMBOL only works for shared libraries. see cmake
>>> documentation: "DEFINE_SYMBOL sets the name of the preprocessor
>>> symbol defined when compiling sources in a shared library."
>>
>> Thank you Christian
>> ...for reading the doc more carefully than I do :-)
>>
>>
>> --
>> Erk
>>
>
> and I _think_ that DEFINE_SYMBOL only will work on windows as it is
> there to facilitate the dllImport/dllexport functionality used by
> windows for exporting/importing symbols from shared libraries.
>
> I may be wrong on that as I am going on memory at this point.
>
This is wrong - you've a similar option with gcc - the visibility attribute.
Christian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 258 bytes
Desc: OpenPGP digital signature
URL: <http://www.cmake.org/pipermail/cmake/attachments/20090220/ed5e4bcb/attachment.pgp>
More information about the CMake
mailing list