Commit afd7d4ca authored by Brad King's avatar Brad King
Browse files

ENH: Add target property LINK_SEARCH_END_STATIC to help people building static...

ENH: Add target property LINK_SEARCH_END_STATIC to help people building static binaries on some platforms.
parent 3a054253
......@@ -340,7 +340,15 @@ bool cmComputeLinkInformation::Compute()
// Restore the target link type so the correct system runtime
// libraries are found.
this->SetCurrentLinkType(this->StartLinkType);
const char* lss = this->Target->GetProperty("LINK_SEARCH_END_STATIC");
if(cmSystemTools::IsOn(lss))
{
this->SetCurrentLinkType(LinkStatic);
}
else
{
this->SetCurrentLinkType(this->StartLinkType);
}
// Compute the linker search path.
this->ComputeLinkerSearchDirectories();
......
......@@ -284,6 +284,18 @@ void cmTarget::DefineProperties(cmake *cm)
"Per-configuration linker flags for a target.",
"This is the configuration-specific version of LINK_FLAGS.");
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->DefineProperty
("LINKER_LANGUAGE", cmProperty::TARGET,
"What tool to use for linking, based on language.",
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment