diff options
Diffstat (limited to 'BuildTools/SCons/Tools/qt4.py')
-rw-r--r-- | BuildTools/SCons/Tools/qt4.py | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/BuildTools/SCons/Tools/qt4.py b/BuildTools/SCons/Tools/qt4.py index d9e41d8..ad4f1c0 100644 --- a/BuildTools/SCons/Tools/qt4.py +++ b/BuildTools/SCons/Tools/qt4.py @@ -56,5 +56,5 @@ class QtdirNotFound(ToolQtWarning): SCons.Warnings.enableWarningClass(ToolQtWarning) -qrcinclude_re = re.compile(r'<file>([^<]*)</file>', re.M) +qrcinclude_re = re.compile(r'<file (alias=\"[^\"]*\")?>([^<]*)</file>', re.M) def transformToWinePath(path) : @@ -329,5 +329,5 @@ def generate(env): return result contents = node.get_contents() - includes = qrcinclude_re.findall(contents) + includes = [included[1] for included in qrcinclude_re.findall(contents)] qrcpath = os.path.dirname(node.path) dirs = [included for included in includes if os.path.isdir(os.path.join(qrcpath,included))] @@ -396,5 +396,5 @@ def generate(env): env.AddMethod(enable_modules, "EnableQt4Modules") -def enable_modules(self, modules, debug=False, crosscompiling=False) : +def enable_modules(self, modules, debug=False, crosscompiling=False, version='4') : import sys @@ -421,4 +421,9 @@ def enable_modules(self, modules, debug=False, crosscompiling=False) : 'QtHelp', 'QtScript', + + # Qt5 modules + 'QtWidgets', + 'QtMultimedia', + 'QtWebKitWidgets', ] staticModules = [ @@ -441,4 +446,6 @@ def enable_modules(self, modules, debug=False, crosscompiling=False) : 'QtOpenGL' : ['QT_OPENGL_LIB'], 'QtGui' : ['QT_GUI_LIB'], + 'QtWidgets' : ['QT_WIDGETS_LIB'], + 'QtWebKitWidgets' : [], 'QtNetwork' : ['QT_NETWORK_LIB'], 'QtCore' : ['QT_CORE_LIB'], @@ -449,6 +456,7 @@ def enable_modules(self, modules, debug=False, crosscompiling=False) : debugSuffix = '' - if sys.platform.startswith("linux") and not crosscompiling : + if sys.platform != "win32" and sys.platform != "darwin" and not crosscompiling : if debug : debugSuffix = '_debug' + if version == '4' : self.AppendUnique(CPPPATH=[os.path.join("$QTDIR","include", "phonon")]) for module in modules : @@ -472,10 +480,15 @@ def enable_modules(self, modules, debug=False, crosscompiling=False) : modules.remove("QtAssistant") modules.append("QtAssistantClient") + if version == '4' : # FIXME: Phonon Hack - self.AppendUnique(LIBS=['phonon'+debugSuffix+'4']) - self.AppendUnique(LIBS=[lib+debugSuffix+'4' for lib in modules if lib not in staticModules]) + self.AppendUnique(LIBS=['phonon'+debugSuffix+version]) + self.AppendUnique(LIBS=[lib+debugSuffix+version for lib in modules if lib not in staticModules]) + else : + self.AppendUnique(LIBS=[lib.replace('Qt', 'Qt5') + debugSuffix for lib in modules if lib not in staticModules]) self.PrependUnique(LIBS=[lib+debugSuffix for lib in modules if lib in staticModules]) if 'QtOpenGL' in modules: self.AppendUnique(LIBS=['opengl32']) + elif version == '5' : + self.Append(CPPDEFINES = ["QT_NO_OPENGL"]) self.AppendUnique(CPPPATH=[ '$QTDIR/include/']) self.AppendUnique(CPPPATH=[ '$QTDIR/include/'+module for module in modules]) @@ -499,4 +512,5 @@ def enable_modules(self, modules, debug=False, crosscompiling=False) : # FIXME: Phonon Hack + if version == '4' : self.Append(LINKFLAGS=['-framework', "phonon"]) @@ -507,7 +521,7 @@ def enable_modules(self, modules, debug=False, crosscompiling=False) : else : if len(self["QTDIR"]) > 0 : - self.Append(CPPFLAGS = ["-I" + os.path.join("$QTDIR", "lib", module + ".framework", "Versions", "4", "Headers")]) + self.Append(CPPFLAGS = ["-I" + os.path.join("$QTDIR", "lib", module + ".framework", "Versions", version, "Headers")]) else : - self.Append(CPPFLAGS = ["-I" + os.path.join("/Library/Frameworks", module + ".framework", "Versions", "4", "Headers")]) + self.Append(CPPFLAGS = ["-I" + os.path.join("/Library/Frameworks", module + ".framework", "Versions", version, "Headers")]) self.Append(LINKFLAGS=['-framework', module]) if 'QtOpenGL' in modules: |