From ff01f8b60025cca88ebcba9b83ab9492b1521c2c Mon Sep 17 00:00:00 2001 From: Clinton Stimpson Date: Wed, 5 Jun 2013 21:31:11 -0600 Subject: OS X: Improvements for getting install name of dylib. In the case of a multi-arch dylib where none of the architectures is the host architecture, otool -D returned multiple install names. --- Source/cmSystemTools.cxx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx index 803d0da..21c361d 100644 --- a/Source/cmSystemTools.cxx +++ b/Source/cmSystemTools.cxx @@ -2425,7 +2425,10 @@ bool cmSystemTools::GuessLibraryInstallName(std::string const& fullPath, RunSingleCommand(cmds, &output, 0, 0, OUTPUT_NONE); std::vector strs = cmSystemTools::tokenize(output, "\n"); - if(strs.size() == 2) + // otool returns extra lines reporting multiple install names + // in case the binary is multi-arch and none of the architectures + // is native (e.g. i386;ppc on x86_64) + if(strs.size() >= 2) { soname = strs[1]; return true; -- cgit v0.12