On 2010-11-28 06:39+0100 Michael Hertling wrote:

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.

Thanks, Michael, that was exactly what I needed.  I was completely
unaware that environment variable worked for CMake despite many years
of using CMake on Linux.  Is the LDFLAGS environment variable
documented for CMake anywhere?  I couldn't find it in the
documentation you get with "cmake --help-full", and it is also not
documented at http://www.cmake.org/Wiki/CMake_Useful_Variables. The
useful environment variables CXXFLAGS, CFLAGS, and FFLAGS that allow
you to specify general compiler flags in a convenient way are
undocumented as well, and that is a real shame.

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state implementation
for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of
Linux Links project (loll.sf.net); and the Linux Brochure Project
(lbproject.sf.net).
__________________________

Linux-powered Science
__________________________
_______________________________________________
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