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