On 11/27/2010 06:45 PM, Alan W. Irwin wrote:
> I just discovered that many Linux distros these days use the
> --as-needed Linux linker option by default.  At first glance that
> option makes a lot of sense since it tends to reduce startup times.
> But I guess there are some caveats as well which is probably why CMake
> does not adopt this linker option by default for Linux builds.
> However, I would at least like to try this option for my own Linux
> builds without forcing it using target_link_libraries. Is it possible
> to specify linker options such as --as-needed using environment
> variables and/or -D options?

On Linux, CMake takes account of the LDFLAGS environment variable
for the initial configuration of the build directory, so saying

LDFLAGS="-Wl,--as-needed" cmake <path/to/srcdir>

enables "--as-needed" for this build directory - forever.

If you need more flexibility you might say, e.g.,

SET_TARGET_PROPERTIES(... PROPERTIES LINK_FLAGS "$ENV{MYLDFLAGS}")

and use the MYLDFLAGS environment variable to reconfigure later:

MYLDFLAGS="-Wl,--no-as-needed" cmake <path/to/bindir>

'hope that helps.

Regards,

Michael
_______________________________________________
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