summaryrefslogtreecommitdiffstats
path: root/Source/cmComputeLinkInformation.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2008-02-06 18:34:44 (GMT)
committerBrad King <brad.king@kitware.com>2008-02-06 18:34:44 (GMT)
commit07be6bb87b27cc09ee17ae9b6850f00893eb586e (patch)
treede478766a53a16ab569afee087d6ae4bd58b2b54 /Source/cmComputeLinkInformation.cxx
parenta752fc5e8500be8a1fc8f5891374f23d125762a3 (diff)
downloadCMake-07be6bb87b27cc09ee17ae9b6850f00893eb586e.zip
CMake-07be6bb87b27cc09ee17ae9b6850f00893eb586e.tar.gz
CMake-07be6bb87b27cc09ee17ae9b6850f00893eb586e.tar.bz2
ENH: When linking to versioned targets whose real file name is known pass the real name to the linker instead of the symlink name.
Diffstat (limited to 'Source/cmComputeLinkInformation.cxx')
-rw-r--r--Source/cmComputeLinkInformation.cxx14
1 files changed, 7 insertions, 7 deletions
diff --git a/Source/cmComputeLinkInformation.cxx b/Source/cmComputeLinkInformation.cxx
index 10a0653..a10155c 100644
--- a/Source/cmComputeLinkInformation.cxx
+++ b/Source/cmComputeLinkInformation.cxx
@@ -514,7 +514,8 @@ void cmComputeLinkInformation::AddItem(std::string const& item, cmTarget* tgt)
// platform. Add it now.
std::string linkItem;
linkItem = this->LoaderFlag;
- std::string exe = tgt->GetFullPath(config, this->UseImportLibrary);
+ std::string exe = tgt->GetFullPath(config, this->UseImportLibrary,
+ true);
linkItem += exe;
this->Items.push_back(Item(linkItem, true));
this->Depends.push_back(exe);
@@ -527,7 +528,7 @@ void cmComputeLinkInformation::AddItem(std::string const& item, cmTarget* tgt)
(impexe || tgt->GetType() == cmTarget::SHARED_LIBRARY));
// Pass the full path to the target file.
- std::string lib = tgt->GetFullPath(config, implib);
+ std::string lib = tgt->GetFullPath(config, implib, true);
this->Depends.push_back(lib);
if(tgt->IsFrameworkOnApple())
@@ -1254,14 +1255,13 @@ cmComputeLinkInformation::AddLibraryRuntimeInfo(std::string const& fullPath,
std::string soName = target->GetSOName(this->Config);
const char* soname = soName.empty()? 0 : soName.c_str();
- // Add the library runtime entry.
- this->AddLibraryRuntimeInfo(fullPath, soname);
+ // Include this library in the runtime path ordering.
+ this->OrderRuntimeSearchPath->AddLibrary(fullPath, soname);
}
//----------------------------------------------------------------------------
void
-cmComputeLinkInformation::AddLibraryRuntimeInfo(std::string const& fullPath,
- const char* soname)
+cmComputeLinkInformation::AddLibraryRuntimeInfo(std::string const& fullPath)
{
// Get the name of the library from the file name.
std::string file = cmSystemTools::GetFilenameName(fullPath);
@@ -1284,7 +1284,7 @@ cmComputeLinkInformation::AddLibraryRuntimeInfo(std::string const& fullPath,
}
// Include this library in the runtime path ordering.
- this->OrderRuntimeSearchPath->AddLibrary(fullPath, soname);
+ this->OrderRuntimeSearchPath->AddLibrary(fullPath);
}
//----------------------------------------------------------------------------