David,

Thanks for the info, I understand how that can happen sometimes.  Can this 
quirk be explicitly mentioned in the help documentation so that people like me 
aren't caught by surprise?  Actually I just noticed that 
CMAKE_SHARED_LINKER_FLAGS and CMAKE_MODULE_LINKER_FLAGS aren't in the official 
2.8 help documentation at all.

Thanks,
Gregory Peele, Jr.
Applied Research Associates, Inc.

From: David Cole [mailto:david.c...@kitware.com]
Sent: Wednesday, January 06, 2010 2:30 PM
To: Gregory Peele ARA/CFD
Cc: cmake@cmake.org
Subject: Re: [CMake] CMAKE_EXE_LINKER_FLAGS not a list?

On Wed, Jan 6, 2010 at 2:18 PM, Gregory Peele ARA/CFD 
<gpe...@ara.com<mailto:gpe...@ara.com>> wrote:
Hey all,

When tracking down why some custom linker flags weren't working right, I 
realized that CMAKE_EXE_LINKER flags (and its cousins for shared libraries) are 
not semicolon delimited lists but rather treat the flags as a single 
space-delimited string.  I also saw the closed bug report at 
http://public.kitware.com/Bug/view.php?id=7476 related to this issue.

I have adjusted my CMakeLists to work correctly given this behavior, but I'm 
wondering why this is the case, as the variable is semantically a list of 
linker arguments and I would intuitively expect the LIST commands to work 
properly with it.  Is it because it eventually gets stored in a target property 
which does not support list values?

Thanks,
Gregory Peele, Jr.
Applied Research Associates, Inc.


No special reason behind this quirk of behavior. It's just historical remnants. 
Has to be kept the same for now for backwards compatibility.

If we were doing it over again, it would probably be a list.


HTH,
David

_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to