diff options
author | David Cole <david.cole@kitware.com> | 2007-10-10 15:06:15 (GMT) |
---|---|---|
committer | David Cole <david.cole@kitware.com> | 2007-10-10 15:06:15 (GMT) |
commit | 8e4c7b99e1b73c641308c0177673dac33fe57df1 (patch) | |
tree | ad00c757835a3ac785fd1b3e78ca3b75c2f1a354 /Source/cmOrderLinkDirectories.cxx | |
parent | aa9ba5c3efcd32ea631435318f63dc476ac39798 (diff) | |
download | CMake-8e4c7b99e1b73c641308c0177673dac33fe57df1.zip CMake-8e4c7b99e1b73c641308c0177673dac33fe57df1.tar.gz CMake-8e4c7b99e1b73c641308c0177673dac33fe57df1.tar.bz2 |
ENH: Finish up the Framework creation code restructuring. Frameworks build and install now. More work needed on the packaging step. See Tests/Framework for example use.
Diffstat (limited to 'Source/cmOrderLinkDirectories.cxx')
-rw-r--r-- | Source/cmOrderLinkDirectories.cxx | 35 |
1 files changed, 18 insertions, 17 deletions
diff --git a/Source/cmOrderLinkDirectories.cxx b/Source/cmOrderLinkDirectories.cxx index 5636657..57b7470 100644 --- a/Source/cmOrderLinkDirectories.cxx +++ b/Source/cmOrderLinkDirectories.cxx @@ -466,28 +466,29 @@ bool cmOrderLinkDirectories::DetermineLibraryPathOrder() // if it is a full path to an item then separate it from the path // this only works with files and paths cmStdString& item = this->RawLinkItems[i]; + if(cmSystemTools::FileIsFullPath(item.c_str())) { - if(cmSystemTools::FileIsDirectory(item.c_str())) + if(cmSystemTools::IsPathToFramework(item.c_str())) { - if(cmSystemTools::IsPathToFramework(item.c_str())) + this->SplitFramework.find(item.c_str()); + cmStdString path = this->SplitFramework.match(1); + // Add the -F path if we have not yet done so + if(this->EmittedFrameworkPaths.insert(path).second) { - this->SplitFramework.find(item.c_str()); - cmStdString path = this->SplitFramework.match(1); - // Add the -F path if we have not yet done so - if(this->EmittedFrameworkPaths.insert(path).second) - { - std::string fpath = "-F"; - fpath += cmSystemTools::ConvertToOutputPath(path.c_str()); - this->LinkItems.push_back(fpath); - } - // now add the -framework option - std::string frame = "-framework "; - frame += this->SplitFramework.match(2); - this->LinkItems.push_back(frame); - framework = true; + std::string fpath = "-F"; + fpath += cmSystemTools::ConvertToOutputPath(path.c_str()); + this->LinkItems.push_back(fpath); } - else + // now add the -framework option + std::string frame = "-framework "; + frame += this->SplitFramework.match(2); + this->LinkItems.push_back(frame); + framework = true; + } + if(cmSystemTools::FileIsDirectory(item.c_str())) + { + if(!framework) { // A full path to a directory was found as a link item // warn user |