Skip to content

Commit

Permalink
Deduplicated FindPyQt(4|5).py
Browse files Browse the repository at this point in the history
  • Loading branch information
m-kuhn committed Nov 16, 2015
1 parent 9ff6e1d commit 842c17c
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 87 deletions.
33 changes: 25 additions & 8 deletions cmake/FindPyQt4.py → cmake/FindPyQt.py
Expand Up @@ -30,28 +30,45 @@
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.

import argparse

parser = argparse.ArgumentParser(description='Find the PyQt on the system.')
parser.add_argument('--version', type=int, help='The major pyqt version to find (4 or 5, Default: 4)', default=4)

version = parser.parse_args().version

if version == 4:
from PyQt4 import QtCore
pyqt_sip_dir = 'PyQt4'
elif version == 5:
from PyQt5 import QtCore
pyqt_sip_dir = 'PyQt5'
else:
parser.print_help()
exit(1)

try:
import PyQt4.pyqtconfig
pyqtcfg = PyQt4.pyqtconfig.Configuration()
except ImportError:
import PyQt4.QtCore
import sipconfig # won't work for SIP v5
import os.path
cfg = sipconfig.Configuration()
sip_dir = cfg.default_sip_dir
for p in (os.path.join(sip_dir, "PyQt4"), sip_dir):
for p in (os.path.join(sip_dir, pyqt_sip_dir), sip_dir):
if os.path.exists(os.path.join(p, "QtCore", "QtCoremod.sip")):
sip_dir = p
break
cfg = {
'pyqt_version': PyQt4.QtCore.PYQT_VERSION,
'pyqt_version_str': PyQt4.QtCore.PYQT_VERSION_STR,
'pyqt_sip_flags': PyQt4.QtCore.PYQT_CONFIGURATION['sip_flags'],
'pyqt_version': QtCore.PYQT_VERSION,
'pyqt_version_str': QtCore.PYQT_VERSION_STR,
'pyqt_sip_flags': QtCore.PYQT_CONFIGURATION['sip_flags'],
'pyqt_mod_dir': cfg.default_mod_dir,
'pyqt_sip_dir': sip_dir,
'pyqt_bin_dir': cfg.default_bin_dir,
}
pyqtcfg = sipconfig.Configuration([cfg])
except AttributeError:
# Legacy code
import PyQt4.pyqtconfig
pyqtcfg = PyQt4.pyqtconfig.Configuration()

print("pyqt_version:%06.0x" % pyqtcfg.pyqt_version)
print("pyqt_version_num:%d" % pyqtcfg.pyqt_version)
Expand Down
4 changes: 1 addition & 3 deletions cmake/FindPyQt4.cmake
Expand Up @@ -27,7 +27,7 @@ IF(EXISTS PYQT4_VERSION)
SET(PYQT4_FOUND TRUE)
ELSE(EXISTS PYQT4_VERSION)

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

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

ENDIF(EXISTS PYQT4_VERSION)


2 changes: 1 addition & 1 deletion cmake/FindPyQt5.cmake
Expand Up @@ -27,7 +27,7 @@ IF(EXISTS PYQT5_VERSION)
SET(PYQT5_FOUND TRUE)
ELSE(EXISTS PYQT5_VERSION)

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

EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} ${_find_pyqt_py} OUTPUT_VARIABLE pyqt_config)
IF(pyqt_config)
Expand Down
75 changes: 0 additions & 75 deletions cmake/FindPyQt5.py

This file was deleted.

0 comments on commit 842c17c

Please sign in to comment.