diff options
author | Brad King <brad.king@kitware.com> | 2011-03-03 22:08:31 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2011-03-03 22:12:32 (GMT) |
commit | 5abfb571843dba949e010f3b2840d8882d0f3d73 (patch) | |
tree | edac42b4048edf66a657c0a9c5f30f7949d2d368 /Source/cmTarget.cxx | |
parent | cbb5ae60be15738a4d6db4607466346153c3dbba (diff) | |
download | CMake-5abfb571843dba949e010f3b2840d8882d0f3d73.zip CMake-5abfb571843dba949e010f3b2840d8882d0f3d73.tar.gz CMake-5abfb571843dba949e010f3b2840d8882d0f3d73.tar.bz2 |
Add target property LINK_SEARCH_START_STATIC to aid static linking
Commit afd7d4ca (Add target property LINK_SEARCH_END_STATIC, 2008-01-31)
defined a property to ensure that static runtime libraries get selected.
Add a property to specify that all libraries whose type is unknown, such
as "-lm", should be assumed static. Furthermore it assumes that an
option such as "-static" is also used so that no initial -Bstatic is
needed.
Diffstat (limited to 'Source/cmTarget.cxx')
-rw-r--r-- | Source/cmTarget.cxx | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index 75ff712..0ca46c4 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -487,17 +487,32 @@ void cmTarget::DefineProperties(cmake *cm) "Per-configuration linker flags for a target.", "This is the configuration-specific version of LINK_FLAGS."); +#define CM_LINK_SEARCH_SUMMARY \ + "Some linkers support switches such as -Bstatic and -Bdynamic " \ + "to determine whether to use static or shared libraries for -lXXX " \ + "options. CMake uses these options to set the link type for " \ + "libraries whose full paths are not known or (in some cases) are in " \ + "implicit link directories for the platform. " + + cm->DefineProperty + ("LINK_SEARCH_START_STATIC", cmProperty::TARGET, + "Assume the linker looks for static libraries by default.", + CM_LINK_SEARCH_SUMMARY + "By default the linker search type is assumed to be -Bdynamic at " + "the beginning of the library list. This property switches the " + "assumption to -Bstatic. It is intended for use when linking an " + "executable statically (e.g. with the GNU -static option). " + "See also LINK_SEARCH_END_STATIC."); + cm->DefineProperty ("LINK_SEARCH_END_STATIC", cmProperty::TARGET, "End a link line such that static system libraries are used.", - "Some linkers support switches such as -Bstatic and -Bdynamic " - "to determine whether to use static or shared libraries for -lXXX " - "options. CMake uses these options to set the link type for " - "libraries whose full paths are not known or (in some cases) are in " - "implicit link directories for the platform. By default the " - "linker search type is left at -Bdynamic by the end of the library " - "list. This property switches the final linker search type to " - "-Bstatic."); + CM_LINK_SEARCH_SUMMARY + "By default CMake adds an option at the end of the library list (if " + "necessary) to set the linker search type back to its starting type. " + "This property switches the final linker search type to -Bstatic " + "regardless of how it started. " + "See also LINK_SEARCH_START_STATIC."); cm->DefineProperty ("LINKER_LANGUAGE", cmProperty::TARGET, |