diff --git a/deploy_tool/main.cpp b/deploy_tool/main.cpp index 5896dc5..905cfb1 100644 --- a/deploy_tool/main.cpp +++ b/deploy_tool/main.cpp @@ -4,15 +4,17 @@ using namespace PICoutManipulators; -PIString cmd_copy; +PIString cmd_copy, cmd_copydir; PIString qplatforms; void setCommands() { #ifdef WINDOWS cmd_copy = "copy /y "; + cmd_copydir = "copy /y "; qplatforms = "windows"; #else cmd_copy = "cp -f "; + cmd_copydir = "cp -rf "; # ifdef MAC_OS qplatforms = "cocoa"; # else @@ -143,6 +145,8 @@ void procLdd(PIString file, bool ext_lib = false, int cur_depth = 0) { if (!otool.isEmpty()) { if (l.contains(".framework/")) { frameworks << l; + if (l.contains("QtCore") || l.contains("Qt5Core")) + need_qt = true; continue; } } @@ -339,6 +343,14 @@ int main(int argc, char * argv[]) { if (!fake) system(cmd_copy + "\"" + l + "\" \"" + out_dir + "\""); } + PIVector fwdirs = frameworks.toVector(); + piForeachC (PIString & f, fwdirs) { + PIString fd = findLib(f); + piCout << "copy framework" << f; + if (!fake) + system(cmd_copydir + "\"" + fd + "\" \"" + out_dir + "\""); + } + piCout << "copied" << clibs.size_s() << "files"; if (!miss_libs.isEmpty()) { piCout << "Missing libraries:\n - " << PIStringList(miss_libs.toVector()).join("\n - ");