[CMake] CMAKE_EXE_LINKER_FLAGS for shared libraries?

Robert Dailey rcdailey at gmail.com
Mon Dec 12 15:15:15 EST 2011


On Mon, Dec 12, 2011 at 2:13 PM, Robert Dailey <rcdailey at gmail.com> wrote:

> On Mon, Dec 12, 2011 at 2:10 PM, David Cole <david.cole at kitware.com>wrote:
>
>> Apparently, they are undocumented, but there are also:
>>
>> CMAKE_SHARED_LINKER_FLAGS and CMAKE_MODULE_LINKER_FLAGS (and their
>> per-config variants) for SHARED and MODULE library targets as well.
>>
>> Use CMAKE_SHARED_LINKER_FLAGS instead.
>
>
> Thanks for the information guys. I'm having a minor problem with these
> variables though.
>
> Here is how I use it:
>
> set( CMAKE_SHARED_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS}
> /NODEFAULTLIB:\"${lib}\" )
>
> Prior to calling the set above, the shared linker flags look like this:
>
>  /STACK:10000000 /machine:X86
>
> After calling the set above, it looks like this:
>
>   /STACK:10000000 /machine:X86 ;/NODEFAULTLIB:"LIBC"
>
> For some reason a semi-colon is being inserted prior to the /NODEFAULTLIB
> part. I don't know why this is happening but visual studio is complaining
> about it. Any reason why this is happening? Thanks.
>

Actually I just realized it is probably putting the semi-colon there
because it thinks I'm trying to create a list. I guess I need to create a
temp variable and call list(APPEND) on it first, then set
CMAKE_SHARED_LINKER_FLAGS to the temp list variable? Kind of messy...
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20111212/c5ca9f70/attachment.htm>


More information about the CMake mailing list