2012-10-06 13:10:25 +02:00
|
|
|
# -*- coding: utf-8 -*-
|
2012-10-11 17:14:44 +02:00
|
|
|
#
|
|
|
|
# Copyright (c) 2007, Simon Edwards <simon@simonzone.com>
|
|
|
|
# All rights reserved.
|
|
|
|
#
|
|
|
|
# Redistribution and use in source and binary forms, with or without
|
|
|
|
# modification, are permitted provided that the following conditions are met:
|
|
|
|
# * Redistributions of source code must retain the above copyright
|
|
|
|
# notice, this list of conditions and the following disclaimer.
|
|
|
|
# * Redistributions in binary form must reproduce the above copyright
|
|
|
|
# notice, this list of conditions and the following disclaimer in the
|
|
|
|
# documentation and/or other materials provided with the distribution.
|
|
|
|
# * Neither the name of the Simon Edwards <simon@simonzone.com> nor the
|
|
|
|
# names of its contributors may be used to endorse or promote products
|
|
|
|
# derived from this software without specific prior written permission.
|
|
|
|
#
|
|
|
|
# THIS SOFTWARE IS PROVIDED BY Simon Edwards <simon@simonzone.com> ''AS IS'' AND ANY
|
|
|
|
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
|
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
|
|
# DISCLAIMED. IN NO EVENT SHALL Simon Edwards <simon@simonzone.com> BE LIABLE FOR ANY
|
|
|
|
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
|
|
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
|
|
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
|
|
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
|
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
|
|
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
#
|
|
|
|
# FindPyQt.py
|
2010-01-16 11:04:41 +00:00
|
|
|
# Copyright (c) 2007, Simon Edwards <simon@simonzone.com>
|
|
|
|
# Redistribution and use is allowed according to the terms of the BSD license.
|
|
|
|
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
|
|
|
|
2020-07-21 21:49:46 +03:00
|
|
|
import os.path
|
2020-07-21 21:28:16 +03:00
|
|
|
import PyQt5.QtCore
|
|
|
|
|
2015-02-25 19:32:54 +01:00
|
|
|
try:
|
2020-07-21 21:49:46 +03:00
|
|
|
__import__('sipbuild')
|
2015-11-17 13:17:53 +01:00
|
|
|
except ImportError:
|
2020-05-11 08:10:20 +10:00
|
|
|
import sipconfig # won't work for SIP v5
|
2018-01-14 21:29:54 +01:00
|
|
|
import sys
|
2020-05-11 08:10:20 +10:00
|
|
|
|
2015-02-25 19:32:54 +01:00
|
|
|
cfg = sipconfig.Configuration()
|
|
|
|
sip_dir = cfg.default_sip_dir
|
2018-01-19 22:38:37 +01:00
|
|
|
for p in (os.path.join(sip_dir, "PyQt5"),
|
|
|
|
os.path.join(sip_dir, "PyQt5-3"),
|
2020-01-29 11:49:44 +01:00
|
|
|
sip_dir,
|
|
|
|
os.path.join(cfg.default_mod_dir, "PyQt5", "bindings")):
|
2015-02-25 19:32:54 +01:00
|
|
|
if os.path.exists(os.path.join(p, "QtCore", "QtCoremod.sip")):
|
|
|
|
sip_dir = p
|
|
|
|
break
|
|
|
|
cfg = {
|
2016-03-13 00:25:04 +01:00
|
|
|
'pyqt_mod_dir': os.path.join(cfg.default_mod_dir, "PyQt5"),
|
2015-02-25 19:32:54 +01:00
|
|
|
'pyqt_sip_dir': sip_dir,
|
|
|
|
'pyqt_bin_dir': cfg.default_bin_dir,
|
|
|
|
}
|
2020-07-21 21:49:46 +03:00
|
|
|
else: # Code for SIP v5
|
|
|
|
from distutils.sysconfig import get_python_lib
|
|
|
|
import shutil
|
|
|
|
cfg = {
|
|
|
|
'pyqt_mod_dir': os.path.dirname(PyQt5.__file__),
|
|
|
|
'pyqt_sip_dir': os.path.join(get_python_lib(plat_specific=1), "PyQt5", "bindings"),
|
|
|
|
'pyqt_bin_dir': os.path.dirname(shutil.which("pyuic5")),
|
|
|
|
}
|
2010-01-16 11:04:41 +00:00
|
|
|
|
2020-07-21 21:28:16 +03:00
|
|
|
print("pyqt_version:%06.0x" % PyQt5.QtCore.PYQT_VERSION)
|
|
|
|
print("pyqt_version_num:%d" % PyQt5.QtCore.PYQT_VERSION)
|
|
|
|
print("pyqt_version_str:%s" % PyQt5.QtCore.PYQT_VERSION_STR)
|
2010-01-16 11:04:41 +00:00
|
|
|
|
|
|
|
pyqt_version_tag = ""
|
|
|
|
in_t = False
|
2020-07-21 21:28:16 +03:00
|
|
|
pyqt_config_list = PyQt5.QtCore.PYQT_CONFIGURATION["sip_flags"].split(' ')
|
|
|
|
for item in pyqt_config_list:
|
2015-11-08 15:24:28 +00:00
|
|
|
if item == "-t":
|
2010-01-16 11:04:41 +00:00
|
|
|
in_t = True
|
|
|
|
elif in_t:
|
2020-07-21 21:28:16 +03:00
|
|
|
if item.startswith("Qt_5"):
|
2010-01-16 11:04:41 +00:00
|
|
|
pyqt_version_tag = item
|
|
|
|
else:
|
|
|
|
in_t = False
|
|
|
|
print("pyqt_version_tag:%s" % pyqt_version_tag)
|
|
|
|
|
2020-07-21 21:49:46 +03:00
|
|
|
print("pyqt_mod_dir:%s" % cfg['pyqt_mod_dir'])
|
|
|
|
print("pyqt_sip_dir:%s" % cfg['pyqt_sip_dir'])
|
2020-07-21 21:28:16 +03:00
|
|
|
print("pyqt_sip_flags:%s" % PyQt5.QtCore.PYQT_CONFIGURATION['sip_flags'])
|
2020-07-21 21:49:46 +03:00
|
|
|
print("pyqt_bin_dir:%s" % cfg['pyqt_bin_dir'])
|
2018-10-24 13:37:52 +02:00
|
|
|
|
|
|
|
try:
|
|
|
|
import PyQt5.sip
|
2020-05-11 08:10:20 +10:00
|
|
|
|
2018-10-24 13:37:52 +02:00
|
|
|
print("pyqt_sip_module:PyQt5.sip")
|
|
|
|
except:
|
|
|
|
print("pyqt_sip_module:sip")
|