From 3146f78bbaea728e59aee86aa91c7e68ceac6322 Mon Sep 17 00:00:00 2001 From: romibi Date: Wed, 6 Jul 2016 13:53:53 +0200 Subject: [PATCH] Modify Mac Deploy-Script for QtWebEngine Closes GH-210. --- scripts/build/macosx_DeployApp.py | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/scripts/build/macosx_DeployApp.py b/scripts/build/macosx_DeployApp.py index e6cfc1d1..2f6957af 100755 --- a/scripts/build/macosx_DeployApp.py +++ b/scripts/build/macosx_DeployApp.py @@ -33,7 +33,7 @@ QT_CONFIG_NOBUNDLE = """[Paths] class InstallQt(object): - def __init__(self, appdir, bundle=True, requestedPlugins=[]): + def __init__(self, appdir, bundle=True, requestedPlugins=[], skipInstallQtConf=False): self.appDir = appdir self.bundle = bundle self.frameworkDir = self.appDir + "/Frameworks" @@ -52,7 +52,8 @@ class InstallQt(object): self.findPluginsPath() self.installPlugins(requestedPlugins) - self.installQtConf() + if not skipInstallQtConf: + self.installQtConf() def qtProperty(self, qtProperty): """ @@ -153,6 +154,12 @@ class InstallQt(object): self.installedFrameworks.add(framework) + # if the Framework-Folder is a Symlink we are in a Helper-Process ".app" (e.g. in QtWebEngine), + # in this case skip copying/installing on existing folders + skipExisting = False; + if os.path.islink(self.frameworkDir): + skipExisting = True; + # ensure that the framework directory exists try: os.mkdir(self.frameworkDir) @@ -162,12 +169,16 @@ class InstallQt(object): if not framework.startswith('/'): framework = "%s/%s" % (self.sourceFrameworkPath, framework) - # Copy Framework - os.system('cp -R "%s" "%s"' % (framework, self.frameworkDir)) - frameworkname = framework.split('/')[-1] localframework = self.frameworkDir + "/" + frameworkname + # Framework already installed in previous run ... see above + if skipExisting and os.path.isdir(localframework): + return + + # Copy Framework + os.system('cp -R "%s" "%s"' % (framework, self.frameworkDir)) + # De-Myllify os.system('find "%s" -name *debug* -exec rm -f {} \;' % localframework) os.system('find "%s" -name Headers -exec rm -rf {} \; 2>/dev/null' % localframework) @@ -235,3 +246,10 @@ if __name__ == "__main__": targetDir += "/Contents" InstallQt(targetDir, bundle, plugins) + + if bundle: + webenginetarget = targetDir + '/Frameworks/QtWebEngineCore.framework/Helpers/QtWebEngineProcess.app/Contents' + + if os.path.isdir(webenginetarget): + os.system('ln -s ../../../../../../ "%s"/Frameworks' % webenginetarget) + InstallQt(webenginetarget, bundle, [], True) -- 2.20.1