Skip to content

Commit eeef84b

Browse files
committedNov 17, 2015
Revert "Deduplicated FindPyQt(4|5).py"
This reverts commit 842c17c which was responsible for test timeouts for dubious reasons.
1 parent ac44a30 commit eeef84b

File tree

4 files changed

+87
-29
lines changed

4 files changed

+87
-29
lines changed
 

‎cmake/FindPyQt4.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@ IF(EXISTS PYQT4_VERSION)
2727
SET(PYQT4_FOUND TRUE)
2828
ELSE(EXISTS PYQT4_VERSION)
2929

30-
FIND_FILE(_find_pyqt_py FindPyQt.py PATHS ${CMAKE_MODULE_PATH})
30+
FIND_FILE(_find_pyqt_py FindPyQt4.py PATHS ${CMAKE_MODULE_PATH})
3131

32-
EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} ${_find_pyqt_py} --version=4 OUTPUT_VARIABLE pyqt_config)
32+
EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} ${_find_pyqt_py} OUTPUT_VARIABLE pyqt_config)
3333
IF(pyqt_config)
3434
STRING(REGEX REPLACE "^pyqt_version:([^\n]+).*$" "\\1" PYQT4_VERSION ${pyqt_config})
3535
STRING(REGEX REPLACE ".*\npyqt_version_str:([^\n]+).*$" "\\1" PYQT4_VERSION_STR ${pyqt_config})

‎cmake/FindPyQt.py renamed to ‎cmake/FindPyQt4.py

Lines changed: 8 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -30,45 +30,28 @@
3030
# Redistribution and use is allowed according to the terms of the BSD license.
3131
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
3232

33-
import argparse
34-
35-
parser = argparse.ArgumentParser(description='Find the PyQt on the system.')
36-
parser.add_argument('--version', type=int, help='The major pyqt version to find (4 or 5, Default: 4)', default=4)
37-
38-
version = parser.parse_args().version
39-
40-
if version == 4:
41-
from PyQt4 import QtCore
42-
pyqt_sip_dir = 'PyQt4'
43-
elif version == 5:
44-
from PyQt5 import QtCore
45-
pyqt_sip_dir = 'PyQt5'
46-
else:
47-
parser.print_help()
48-
exit(1)
49-
5033
try:
34+
import PyQt4.pyqtconfig
35+
pyqtcfg = PyQt4.pyqtconfig.Configuration()
36+
except ImportError:
37+
import PyQt4.QtCore
5138
import sipconfig # won't work for SIP v5
5239
import os.path
5340
cfg = sipconfig.Configuration()
5441
sip_dir = cfg.default_sip_dir
55-
for p in (os.path.join(sip_dir, pyqt_sip_dir), sip_dir):
42+
for p in (os.path.join(sip_dir, "PyQt4"), sip_dir):
5643
if os.path.exists(os.path.join(p, "QtCore", "QtCoremod.sip")):
5744
sip_dir = p
5845
break
5946
cfg = {
60-
'pyqt_version': QtCore.PYQT_VERSION,
61-
'pyqt_version_str': QtCore.PYQT_VERSION_STR,
62-
'pyqt_sip_flags': QtCore.PYQT_CONFIGURATION['sip_flags'],
47+
'pyqt_version': PyQt4.QtCore.PYQT_VERSION,
48+
'pyqt_version_str': PyQt4.QtCore.PYQT_VERSION_STR,
49+
'pyqt_sip_flags': PyQt4.QtCore.PYQT_CONFIGURATION['sip_flags'],
6350
'pyqt_mod_dir': cfg.default_mod_dir,
6451
'pyqt_sip_dir': sip_dir,
6552
'pyqt_bin_dir': cfg.default_bin_dir,
6653
}
6754
pyqtcfg = sipconfig.Configuration([cfg])
68-
except AttributeError:
69-
# Legacy code
70-
import PyQt4.pyqtconfig
71-
pyqtcfg = PyQt4.pyqtconfig.Configuration()
7255

7356
print("pyqt_version:%06.0x" % pyqtcfg.pyqt_version)
7457
print("pyqt_version_num:%d" % pyqtcfg.pyqt_version)

‎cmake/FindPyQt5.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@ IF(EXISTS PYQT5_VERSION)
2727
SET(PYQT5_FOUND TRUE)
2828
ELSE(EXISTS PYQT5_VERSION)
2929

30-
FIND_FILE(_find_pyqt_py FindPyQt.py PATHS ${CMAKE_MODULE_PATH})
30+
FIND_FILE(_find_pyqt_py FindPyQt5.py PATHS ${CMAKE_MODULE_PATH})
3131

32-
EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} ${_find_pyqt_py} --version=5 OUTPUT_VARIABLE pyqt_config)
32+
EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} ${_find_pyqt_py} OUTPUT_VARIABLE pyqt_config)
3333
IF(pyqt_config)
3434
STRING(REGEX REPLACE "^pyqt_version:([^\n]+).*$" "\\1" PYQT5_VERSION ${pyqt_config})
3535
STRING(REGEX REPLACE ".*\npyqt_version_str:([^\n]+).*$" "\\1" PYQT5_VERSION_STR ${pyqt_config})

‎cmake/FindPyQt5.py

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
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

Comments
 (0)
Failed to load comments.