diff options
author | Brad King <brad.king@kitware.com> | 2008-04-08 04:06:47 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2008-04-08 04:06:47 (GMT) |
commit | 67834f2d535b46655074932371d9e4f2f024c44c (patch) | |
tree | 2a688fad6dd6a2043af7109433b5a1c2a91bd7f0 /Source/cmComputeLinkInformation.cxx | |
parent | 5c3a5daaf1f0ccaa447ad3856f2ee8445d3df325 (diff) | |
download | CMake-67834f2d535b46655074932371d9e4f2f024c44c.zip CMake-67834f2d535b46655074932371d9e4f2f024c44c.tar.gz CMake-67834f2d535b46655074932371d9e4f2f024c44c.tar.bz2 |
BUG: Correct Mac OS X framework behavior
- Place the built library in foo.framework/Versions/A/foo
- Do not create unused content symlinks (like PrivateHeaders)
- Do not use VERSION/SOVERSION properties for frameworks
- Make cmTarget::GetDirectory return by value
- Remove the foo.framework part from cmTarget::GetDirectory
- Correct install_name construction and conversion on install
- Fix MACOSX_PACKAGE_LOCATION under Xcode to use the
Versions/<version> directory for frameworks
- Update the Framework test to try these things
Diffstat (limited to 'Source/cmComputeLinkInformation.cxx')
-rw-r--r-- | Source/cmComputeLinkInformation.cxx | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/Source/cmComputeLinkInformation.cxx b/Source/cmComputeLinkInformation.cxx index fc9bf47..878c3d6 100644 --- a/Source/cmComputeLinkInformation.cxx +++ b/Source/cmComputeLinkInformation.cxx @@ -611,18 +611,8 @@ void cmComputeLinkInformation::AddItem(std::string const& item, cmTarget* tgt) std::string lib = tgt->GetFullPath(config, implib, true); this->Depends.push_back(lib); - if(tgt->IsFrameworkOnApple()) - { - // Frameworks on OS X need only the framework directory to - // link. - std::string fw = tgt->GetDirectory(config, implib); - this->AddFrameworkItem(fw); - } - else - { - this->AddTargetItem(lib, tgt); - this->AddLibraryRuntimeInfo(lib, tgt); - } + this->AddTargetItem(lib, tgt); + this->AddLibraryRuntimeInfo(lib, tgt); } } else @@ -1023,7 +1013,7 @@ void cmComputeLinkInformation::AddTargetItem(std::string const& item, // For compatibility with CMake 2.4 include the item's directory in // the linker search path. - if(this->OldLinkDirMode && + if(this->OldLinkDirMode && !target->IsFrameworkOnApple() && this->OldLinkDirMask.find(cmSystemTools::GetFilenamePath(item)) == this->OldLinkDirMask.end()) { |