Skip to content

Commit 842c17c

Browse files
committed
Deduplicated FindPyQt(4|5).py
1 parent 9ff6e1d commit 842c17c

File tree

4 files changed

+27
-87
lines changed

4 files changed

+27
-87
lines changed

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

+25-8
Original file line numberDiff line numberDiff line change
@@ -30,28 +30,45 @@
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+
3350
try:
34-
import PyQt4.pyqtconfig
35-
pyqtcfg = PyQt4.pyqtconfig.Configuration()
36-
except ImportError:
37-
import PyQt4.QtCore
3851
import sipconfig # won't work for SIP v5
3952
import os.path
4053
cfg = sipconfig.Configuration()
4154
sip_dir = cfg.default_sip_dir
42-
for p in (os.path.join(sip_dir, "PyQt4"), sip_dir):
55+
for p in (os.path.join(sip_dir, pyqt_sip_dir), sip_dir):
4356
if os.path.exists(os.path.join(p, "QtCore", "QtCoremod.sip")):
4457
sip_dir = p
4558
break
4659
cfg = {
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'],
60+
'pyqt_version': QtCore.PYQT_VERSION,
61+
'pyqt_version_str': QtCore.PYQT_VERSION_STR,
62+
'pyqt_sip_flags': QtCore.PYQT_CONFIGURATION['sip_flags'],
5063
'pyqt_mod_dir': cfg.default_mod_dir,
5164
'pyqt_sip_dir': sip_dir,
5265
'pyqt_bin_dir': cfg.default_bin_dir,
5366
}
5467
pyqtcfg = sipconfig.Configuration([cfg])
68+
except AttributeError:
69+
# Legacy code
70+
import PyQt4.pyqtconfig
71+
pyqtcfg = PyQt4.pyqtconfig.Configuration()
5572

5673
print("pyqt_version:%06.0x" % pyqtcfg.pyqt_version)
5774
print("pyqt_version_num:%d" % pyqtcfg.pyqt_version)

cmake/FindPyQt4.cmake

+1-3
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ IF(EXISTS PYQT4_VERSION)
2727
SET(PYQT4_FOUND TRUE)
2828
ELSE(EXISTS PYQT4_VERSION)
2929

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

3232
EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} ${_find_pyqt_py} OUTPUT_VARIABLE pyqt_config)
3333
IF(pyqt_config)
@@ -54,5 +54,3 @@ ELSE(EXISTS PYQT4_VERSION)
5454
ENDIF(PYQT4_FOUND)
5555

5656
ENDIF(EXISTS PYQT4_VERSION)
57-
58-

cmake/FindPyQt5.cmake

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ IF(EXISTS PYQT5_VERSION)
2727
SET(PYQT5_FOUND TRUE)
2828
ELSE(EXISTS PYQT5_VERSION)
2929

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

3232
EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} ${_find_pyqt_py} OUTPUT_VARIABLE pyqt_config)
3333
IF(pyqt_config)

cmake/FindPyQt5.py

-75
This file was deleted.

0 commit comments

Comments
 (0)