- otoolProcess = Popen('qmake -query QT_INSTALL_LIBS', shell=True, stdout=PIPE, stderr=PIPE)
- self.sourceFrameworkPath = otoolProcess.stdout.read().strip()
- otoolProcess.stdout.close()
- otoolProcess.wait()
+ self.sourceFrameworkPath = self.qtProperty('QT_INSTALL_LIBS')
+
+ def findPluginsPath(self):
+ self.sourcePluginsPath = self.qtProperty('QT_INSTALL_PLUGINS')
+
+ def findPlugin(self, pluginname):
+ qmakeProcess = Popen('find %s -name %s' % (self.sourcePluginsPath, pluginname), shell=True, stdout=PIPE, stderr=PIPE)
+ result = qmakeProcess.stdout.read().strip()
+ qmakeProcess.stdout.close()
+ qmakeProcess.wait()
+ if not result:
+ raise OSError
+ return result
+
+ def installPlugins(self, requestedPlugins):
+ try:
+ os.mkdir(self.pluginDir)
+ except:
+ pass
+
+ for plugin in requestedPlugins:
+ if not plugin.isalnum():
+ print "Skipping library '%s'..." % plugin
+ continue
+
+ pluginName = "lib%s.dylib" % plugin
+ pluginSource = ''
+ try:
+ pluginSource = self.findPlugin(pluginName)
+ except OSError:
+ print "WARNING: Requested library does not exist: '%s'" % plugin
+ continue
+
+ pluginSubDir = os.path.dirname(pluginSource)
+ pluginSubDir = pluginSubDir.replace(self.sourcePluginsPath, '').strip('/')
+ try:
+ os.mkdir("%s/%s" % (self.pluginDir, pluginSubDir))
+ except OSError:
+ pass
+
+ os.system('cp "%s" "%s/%s"' % (pluginSource, self.pluginDir, pluginSubDir))