|
| 1 | +# -*- coding: utf-8 -*- |
| 2 | +# |
| 3 | +# Copyright (c) 2007, Simon Edwards <simon@simonzone.com> |
| 4 | +# All rights reserved. |
| 5 | +# |
| 6 | +# Redistribution and use in source and binary forms, with or without |
| 7 | +# modification, are permitted provided that the following conditions are met: |
| 8 | +# * Redistributions of source code must retain the above copyright |
| 9 | +# notice, this list of conditions and the following disclaimer. |
| 10 | +# * Redistributions in binary form must reproduce the above copyright |
| 11 | +# notice, this list of conditions and the following disclaimer in the |
| 12 | +# documentation and/or other materials provided with the distribution. |
| 13 | +# * Neither the name of the Simon Edwards <simon@simonzone.com> nor the |
| 14 | +# names of its contributors may be used to endorse or promote products |
| 15 | +# derived from this software without specific prior written permission. |
| 16 | +# |
| 17 | +# THIS SOFTWARE IS PROVIDED BY Simon Edwards <simon@simonzone.com> ''AS IS'' AND ANY |
| 18 | +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
| 19 | +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
| 20 | +# DISCLAIMED. IN NO EVENT SHALL Simon Edwards <simon@simonzone.com> BE LIABLE FOR ANY |
| 21 | +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
| 22 | +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
| 23 | +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
| 24 | +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 25 | +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
| 26 | +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 27 | +# |
| 28 | +# FindPyQt.py |
| 29 | +# Copyright (c) 2007, Simon Edwards <simon@simonzone.com> |
| 30 | +# Redistribution and use is allowed according to the terms of the BSD license. |
| 31 | +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. |
| 32 | + |
| 33 | +try: |
| 34 | + import PyQt5.pyqtconfig |
| 35 | + pyqtcfg = PyQt5.pyqtconfig.Configuration() |
| 36 | +except ImportError: |
| 37 | + import PyQt5.QtCore |
| 38 | + import sipconfig # won't work for SIP v5 |
| 39 | + import os.path |
| 40 | + cfg = sipconfig.Configuration() |
| 41 | + sip_dir = cfg.default_sip_dir |
| 42 | + for p in (os.path.join(sip_dir, "PyQt5"), sip_dir): |
| 43 | + if os.path.exists(os.path.join(p, "QtCore", "QtCoremod.sip")): |
| 44 | + sip_dir = p |
| 45 | + break |
| 46 | + cfg = { |
| 47 | + 'pyqt_version': PyQt5.QtCore.PYQT_VERSION, |
| 48 | + 'pyqt_version_str': PyQt5.QtCore.PYQT_VERSION_STR, |
| 49 | + 'pyqt_sip_flags': PyQt5.QtCore.PYQT_CONFIGURATION['sip_flags'], |
| 50 | + 'pyqt_mod_dir': cfg.default_mod_dir, |
| 51 | + 'pyqt_sip_dir': sip_dir, |
| 52 | + 'pyqt_bin_dir': cfg.default_bin_dir, |
| 53 | + } |
| 54 | + pyqtcfg = sipconfig.Configuration([cfg]) |
| 55 | + |
| 56 | +print("pyqt_version:%06.0x" % pyqtcfg.pyqt_version) |
| 57 | +print("pyqt_version_num:%d" % pyqtcfg.pyqt_version) |
| 58 | +print("pyqt_version_str:%s" % pyqtcfg.pyqt_version_str) |
| 59 | + |
| 60 | +pyqt_version_tag = "" |
| 61 | +in_t = False |
| 62 | +for item in pyqtcfg.pyqt_sip_flags.split(' '): |
| 63 | + if item == "-t": |
| 64 | + in_t = True |
| 65 | + elif in_t: |
| 66 | + if item.startswith("Qt_4"): |
| 67 | + pyqt_version_tag = item |
| 68 | + else: |
| 69 | + in_t = False |
| 70 | +print("pyqt_version_tag:%s" % pyqt_version_tag) |
| 71 | + |
| 72 | +print("pyqt_mod_dir:%s" % pyqtcfg.pyqt_mod_dir) |
| 73 | +print("pyqt_sip_dir:%s" % pyqtcfg.pyqt_sip_dir) |
| 74 | +print("pyqt_sip_flags:%s" % pyqtcfg.pyqt_sip_flags) |
| 75 | +print("pyqt_bin_dir:%s" % pyqtcfg.pyqt_bin_dir) |
0 commit comments