mirror of https://gitlab.com/ita1024/waf.git
Merge branch 'pyqt5_improvements' into 'master'
pyqt5: improve autodetection of tools and add flag support See merge request ita1024/waf!2343
This commit is contained in:
commit
4036664a20
|
@ -14,16 +14,19 @@ def options(opt):
|
||||||
opt.load('python pyqt5')
|
opt.load('python pyqt5')
|
||||||
|
|
||||||
def configure(conf):
|
def configure(conf):
|
||||||
|
# Recent UIC/RCC versions require explicit python generator selection
|
||||||
|
conf.env.QT_PYUIC_FLAGS = ['-g', 'python']
|
||||||
|
conf.env.QT_PYRCC_FLAGS = ['-g', 'python']
|
||||||
# Load also python to demonstrate mixed calls
|
# Load also python to demonstrate mixed calls
|
||||||
conf.load('python pyqt5')
|
conf.load('python pyqt5')
|
||||||
conf.check_python_version((2,7,4))
|
conf.check_python_version((2,7,4))
|
||||||
|
|
||||||
def build(bld):
|
def build(bld):
|
||||||
# Demonstrates mixed usage of py and pyqt5 module, and tests also install_path and install_from
|
# Demonstrates mixed usage of py and pyqt5 module, and tests also install_path and install_from
|
||||||
# (since generated files go into build it has to be reset inside the pyqt5 tool)
|
# (since generated files go into build it has to be reset inside the pyqt5 tool)
|
||||||
bld(features="py pyqt5", source="src/sample.py src/firstgui.ui", install_path="${PREFIX}/play/", install_from="src/")
|
bld(features="py pyqt5", source="src/sample.py src/firstgui.ui", install_path="${PREFIX}/play/", install_from="src/")
|
||||||
|
|
||||||
# Simple usage on a resource file. If a file referenced inside the resource changes it will be rebuilt
|
# Simple usage on a resource file. If a file referenced inside the resource changes it will be rebuilt
|
||||||
# as the qrc XML is parsed and dependencies are calculated
|
# as the qrc XML is parsed and dependencies are calculated
|
||||||
bld(features="pyqt5", source="sampleRes.qrc")
|
bld(features="pyqt5", source="sampleRes.qrc")
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# encoding: utf-8
|
# encoding: utf-8
|
||||||
# Federico Pellegrin, 2016-2019 (fedepell) adapted for Python
|
# Federico Pellegrin, 2016-2022 (fedepell) adapted for Python
|
||||||
|
|
||||||
"""
|
"""
|
||||||
This tool helps with finding Python Qt5 tools and libraries,
|
This tool helps with finding Python Qt5 tools and libraries,
|
||||||
|
@ -137,7 +137,7 @@ class pyrcc(Task.Task):
|
||||||
Processes ``.qrc`` files
|
Processes ``.qrc`` files
|
||||||
"""
|
"""
|
||||||
color = 'BLUE'
|
color = 'BLUE'
|
||||||
run_str = '${QT_PYRCC} ${SRC} -o ${TGT}'
|
run_str = '${QT_PYRCC} ${QT_PYRCC_FLAGS} ${SRC} -o ${TGT}'
|
||||||
ext_out = ['.py']
|
ext_out = ['.py']
|
||||||
|
|
||||||
def rcname(self):
|
def rcname(self):
|
||||||
|
@ -175,7 +175,7 @@ class ui5py(Task.Task):
|
||||||
Processes ``.ui`` files for python
|
Processes ``.ui`` files for python
|
||||||
"""
|
"""
|
||||||
color = 'BLUE'
|
color = 'BLUE'
|
||||||
run_str = '${QT_PYUIC} ${SRC} -o ${TGT}'
|
run_str = '${QT_PYUIC} ${QT_PYUIC_FLAGS} ${SRC} -o ${TGT}'
|
||||||
ext_out = ['.py']
|
ext_out = ['.py']
|
||||||
|
|
||||||
class ts2qm(Task.Task):
|
class ts2qm(Task.Task):
|
||||||
|
@ -216,17 +216,17 @@ def find_pyqt5_binaries(self):
|
||||||
self.find_program(['pyrcc5'], var='QT_PYRCC')
|
self.find_program(['pyrcc5'], var='QT_PYRCC')
|
||||||
self.find_program(['pylupdate5'], var='QT_PYLUPDATE')
|
self.find_program(['pylupdate5'], var='QT_PYLUPDATE')
|
||||||
elif getattr(Options.options, 'want_pyside2', True):
|
elif getattr(Options.options, 'want_pyside2', True):
|
||||||
self.find_program(['pyside2-uic'], var='QT_PYUIC')
|
self.find_program(['pyside2-uic','uic-qt5'], var='QT_PYUIC')
|
||||||
self.find_program(['pyside2-rcc'], var='QT_PYRCC')
|
self.find_program(['pyside2-rcc','rcc-qt5'], var='QT_PYRCC')
|
||||||
self.find_program(['pyside2-lupdate'], var='QT_PYLUPDATE')
|
self.find_program(['pyside2-lupdate','lupdate-qt5'], var='QT_PYLUPDATE')
|
||||||
elif getattr(Options.options, 'want_pyqt4', True):
|
elif getattr(Options.options, 'want_pyqt4', True):
|
||||||
self.find_program(['pyuic4'], var='QT_PYUIC')
|
self.find_program(['pyuic4'], var='QT_PYUIC')
|
||||||
self.find_program(['pyrcc4'], var='QT_PYRCC')
|
self.find_program(['pyrcc4'], var='QT_PYRCC')
|
||||||
self.find_program(['pylupdate4'], var='QT_PYLUPDATE')
|
self.find_program(['pylupdate4'], var='QT_PYLUPDATE')
|
||||||
else:
|
else:
|
||||||
self.find_program(['pyuic5','pyside2-uic','pyuic4'], var='QT_PYUIC')
|
self.find_program(['pyuic5','pyside2-uic','pyuic4','uic-qt5'], var='QT_PYUIC')
|
||||||
self.find_program(['pyrcc5','pyside2-rcc','pyrcc4'], var='QT_PYRCC')
|
self.find_program(['pyrcc5','pyside2-rcc','pyrcc4','rcc-qt5'], var='QT_PYRCC')
|
||||||
self.find_program(['pylupdate5', 'pyside2-lupdate','pylupdate4'], var='QT_PYLUPDATE')
|
self.find_program(['pylupdate5', 'pyside2-lupdate','pylupdate4','lupdate-qt5'], var='QT_PYLUPDATE')
|
||||||
|
|
||||||
if not env.QT_PYUIC:
|
if not env.QT_PYUIC:
|
||||||
self.fatal('cannot find the uic compiler for python for qt5')
|
self.fatal('cannot find the uic compiler for python for qt5')
|
||||||
|
|
Loading…
Reference in New Issue