diff --git a/utils/deploy_tool/main.cpp b/utils/deploy_tool/main.cpp index 3909e67d..a9ef0b82 100644 --- a/utils/deploy_tool/main.cpp +++ b/utils/deploy_tool/main.cpp @@ -386,6 +386,7 @@ void patchNameTool() { PIString fl = findLib(frameworkName(f)); if (fl.isEmpty()) continue; patch_list << (out_dir + frameworkName(f) + "/" + frameworkInternalPath(f)); + PICout(DefaultControls) << "map" << f << "->" << (out_dir + frameworkName(f) + "/" + frameworkInternalPath(f)); } piForeach (PIString local_lib, patch_list) { cmd = otool + " -L \"" + local_lib; @@ -400,20 +401,20 @@ void patchNameTool() { fi.path = sys_lib; libname = fi.name(); PIString fl = findLib(libname), fname = frameworkName(sys_lib); + PIString new_path; if (all_libs.contains(fl)) { + new_path = "@executable_path/../Frameworks/" + libname; PICout(DefaultControls) << " depend on lib" << fl; - cmd = nametool + " -change \"" + sys_lib + "\""; - cmd += " \"@executable_path/../Frameworks/" + libname + "\""; - cmd += " \"" + local_lib + "\""; - //PICout(DefaultControls) << " " << cmd; - execute(cmd); } if (frameworks.contains(fname)) { fl = findLib(fname); if (fl.isEmpty()) continue; + new_path = "@executable_path/../Frameworks/" + fname + "/" + frameworkInternalPath(sys_lib); PICout(DefaultControls) << " depend on framework" << fl; + } + if (!new_path.isEmpty()) { cmd = nametool + " -change \"" + sys_lib + "\""; - cmd += " \"@executable_path/../Frameworks/" + fname + "/" + frameworkInternalPath(sys_lib) + "\""; + cmd += " \"" + new_path + "\""; cmd += " \"" + local_lib + "\""; //PICout(DefaultControls) << " " << cmd; execute(cmd);