2
0
mirror of https://gitlab.com/ita1024/waf.git synced 2024-11-22 09:57:15 +01:00
waf/playground/pyqt5/wscript
Federico Pellegrin 78f49d44c8 pyqt5: improve autodetection of tools and add flag support
Improves autodetection by adding tool naming as found in some recent
distributions (ie. Fedora). Adds also possibility to pass via env
command line options to tools (needed ie. to explicitly pass
generator due to changes to uic/rcc tool).

Test updated to demonstrate and document the parameter needed to
work out of the box with newest tooling.
2022-10-02 01:50:23 +02:00

33 lines
1.2 KiB
Python

#! /usr/bin/env python
# encoding: utf-8#
# Federico Pellegrin, 2016 (fedepell)
"""
Python QT5 helper tools example:
converts QT5 Designer tools files (UI and QRC) into python files with
the appropriate tools (pyqt5 and pyside2 searched) and manages their
python compilation and installation using standard python waf Tool
"""
def options(opt):
# Load also python to demonstrate mixed calls
opt.load('python pyqt5')
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
conf.load('python pyqt5')
conf.check_python_version((2,7,4))
def build(bld):
# 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)
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
# as the qrc XML is parsed and dependencies are calculated
bld(features="pyqt5", source="sampleRes.qrc")