From 00a124ce649c2e7d2d327452337a53d5271ec7ed Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Tue, 23 Oct 2018 23:43:52 +0200 Subject: [PATCH] Added pya compatibility module --- src/pymod/__init__.py.qt4 | 2 +- src/pymod/__init__.py.qt5 | 5 +++-- src/pymod/distutils_src/pya/__init__.py | 10 ++++++++++ src/pymod/tl/tl.pro | 19 +++++++++++++++++++ 4 files changed, 33 insertions(+), 3 deletions(-) create mode 100644 src/pymod/distutils_src/pya/__init__.py diff --git a/src/pymod/__init__.py.qt4 b/src/pymod/__init__.py.qt4 index 8fee0a23c..18e5d527d 100644 --- a/src/pymod/__init__.py.qt4 +++ b/src/pymod/__init__.py.qt4 @@ -1,5 +1,5 @@ # klayout library definition file -__all__ = [ "tl", "db", "lay", "rdb", "QtCore", "QtGui", "QtXml", "QtSql", "QtNetwork", "QtDesigner" ] +__all__ = [ "tl", "db", "rdb", "QtCore", "QtGui", "QtXml", "QtSql", "QtNetwork", "QtDesigner", "lay" ] diff --git a/src/pymod/__init__.py.qt5 b/src/pymod/__init__.py.qt5 index 6e23c9122..9a943103f 100644 --- a/src/pymod/__init__.py.qt5 +++ b/src/pymod/__init__.py.qt5 @@ -1,7 +1,8 @@ # klayout library definition file -__all__ = [ "tl", "db", "lay", "rdb", +__all__ = [ "tl", "db", "rdb", "QtCore", "QtGui", "QtNetwork", "QtSql", "QtWidgets", "QtDesigner", - "QtMultimedia", "QtPrintSupport", "QtSvg", "QtXmlPatterns", "QtXml" ] + "QtMultimedia", "QtPrintSupport", "QtSvg", "QtXmlPatterns", "QtXml", + "lay" ] diff --git a/src/pymod/distutils_src/pya/__init__.py b/src/pymod/distutils_src/pya/__init__.py new file mode 100644 index 000000000..ae97d592a --- /dev/null +++ b/src/pymod/distutils_src/pya/__init__.py @@ -0,0 +1,10 @@ + +import klayout +import importlib + +__all__ = [] +for m in klayout.__all__: + mod = importlib.import_module("klayout." + m) + for mm in mod.__all__: + globals()[mm] = getattr(mod, mm) + diff --git a/src/pymod/tl/tl.pro b/src/pymod/tl/tl.pro index b3aa2e0c9..7101437be 100644 --- a/src/pymod/tl/tl.pro +++ b/src/pymod/tl/tl.pro @@ -43,3 +43,22 @@ msvc { } INSTALLS += init_target +# And also provide the pya compatbility module here + +msvc { + QMAKE_POST_LINK += && (if not exist $$shell_path($$DESTDIR_PYMOD/../pya) $(MKDIR) $$shell_path($$DESTDIR_PYMOD/../pya)) && $(COPY) $$shell_path($$PWD/../distutils_src/pya/*.py) $$shell_path($$DESTDIR_PYMOD/../pya) +} else { + QMAKE_POST_LINK += && $(MKDIR) $$DESTDIR_PYMOD/../pya && $(COPY) $$PWD/../distutils_src/pya/*.py $$DESTDIR_PYMOD/../pya +} + +# INSTALLS needs to be inside a lib or app templates. +modpyasrc_target.path = $$PREFIX/pymod/pya +# This would be nice: +# init_target.files += $$DESTDIR_PYMOD/pya/* +# but some Qt versions need this explicitly: +msvc { + modpyasrc_target.extra = $(INSTALL_PROGRAM) $$shell_path($$DESTDIR_PYMOD/../pya/*.py) $$shell_path($(INSTALLROOT)$$PREFIX/pymod/pya) +} else { + modpyasrc_target.extra = $(INSTALL_PROGRAM) $$DESTDIR_PYMOD/../pya/*.py $(INSTALLROOT)$$PREFIX/pymod/pya +} +INSTALLS += modpyasrc_target