From 81c5f25a7f627eb818de1c3d9e4b9e4227b695f1 Mon Sep 17 00:00:00 2001 From: Bas Couwenberg Date: Sun, 13 Mar 2016 00:25:04 +0100 Subject: [PATCH] Don't require Python 3 for Qt5. Use separate ENABLE_PYTHON3 option for Python 3. --- CMakeLists.txt | 13 +++++++++---- ci/travis/linux/qt5/install.sh | 1 + cmake/FindPyQt5.py | 2 +- cmake/FindPythonLibrary.cmake | 6 +++--- 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 49137eaa9869..76767446bd8e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -678,11 +678,12 @@ ENDIF (UNIX AND NOT APPLE) ############################################################# # Python build dependency -IF(ENABLE_QT5) +SET (ENABLE_PYTHON3 ${ENABLE_QT5} CACHE BOOL "If enabled will try to find Python 3 before looking for Python 2") +IF(ENABLE_PYTHON3) SET(PYTHON_VER 3 CACHE STRING "Python version") -ELSE(ENABLE_QT5) +ELSE(ENABLE_PYTHON3) SET(PYTHON_VER 2.7 CACHE STRING "Python version") -ENDIF(ENABLE_QT5) +ENDIF(ENABLE_PYTHON3) FIND_PACKAGE(PythonInterp ${PYTHON_VER} REQUIRED) @@ -720,7 +721,11 @@ IF (WITH_BINDINGS) ENDIF (NOT BINDINGS_GLOBAL_INSTALL) IF (WITH_CUSTOM_WIDGETS) - SET(PYUIC_WIDGET_PLUGIN_DIRECTORY ${PYQT4_MOD_DIR}/uic/widget-plugins/) + IF(ENABLE_QT5) + SET(PYUIC_WIDGET_PLUGIN_DIRECTORY ${PYQT5_MOD_DIR}/uic/widget-plugins/) + ELSE(ENABLE_QT5) + SET(PYUIC_WIDGET_PLUGIN_DIRECTORY ${PYQT4_MOD_DIR}/uic/widget-plugins/) + ENDIF(ENABLE_QT5) ENDIF (WITH_CUSTOM_WIDGETS) ENDIF (WITH_BINDINGS) diff --git a/ci/travis/linux/qt5/install.sh b/ci/travis/linux/qt5/install.sh index 399573c263ee..e3db12a038b4 100755 --- a/ci/travis/linux/qt5/install.sh +++ b/ci/travis/linux/qt5/install.sh @@ -36,6 +36,7 @@ cmake \ -DWITH_ASTYLE=ON \ -DWITH_SERVER=ON \ -DENABLE_QT5=ON \ + -DENABLE_PYTHON3=ON \ -DCXX_EXTRA_FLAGS="$CLANG_WARNINGS" \ -DPYTHON_LIBRARY=/usr/lib/libpython3.2mu.so \ .. diff --git a/cmake/FindPyQt5.py b/cmake/FindPyQt5.py index 6fb69c7c118f..303d5fb1c2f9 100644 --- a/cmake/FindPyQt5.py +++ b/cmake/FindPyQt5.py @@ -47,7 +47,7 @@ 'pyqt_version': PyQt5.QtCore.PYQT_VERSION, 'pyqt_version_str': PyQt5.QtCore.PYQT_VERSION_STR, 'pyqt_sip_flags': PyQt5.QtCore.PYQT_CONFIGURATION['sip_flags'], - 'pyqt_mod_dir': cfg.default_mod_dir, + 'pyqt_mod_dir': os.path.join(cfg.default_mod_dir, "PyQt5"), 'pyqt_sip_dir': sip_dir, 'pyqt_bin_dir': cfg.default_bin_dir, } diff --git a/cmake/FindPythonLibrary.cmake b/cmake/FindPythonLibrary.cmake index 422bfefd83e7..660eecef8cfa 100644 --- a/cmake/FindPythonLibrary.cmake +++ b/cmake/FindPythonLibrary.cmake @@ -44,11 +44,11 @@ else(EXISTS "${PYTHON_INCLUDE_PATH}" AND EXISTS "${PYTHON_LIBRARY}" AND EXISTS " endif("${PYTHON_CUSTOM_FRAMEWORK}" MATCHES "Python\\.framework") endif(APPLE AND PYTHON_CUSTOM_FRAMEWORK) - IF (ENABLE_QT5) + IF (ENABLE_PYTHON3) FIND_PACKAGE(PythonInterp 3) - ELSE (ENABLE_QT5) + ELSE (ENABLE_PYTHON3) FIND_PACKAGE(PythonInterp 2.7) - ENDIF (ENABLE_QT5) + ENDIF (ENABLE_PYTHON3) if(PYTHONINTERP_FOUND) FIND_FILE(_find_lib_python_py FindLibPython.py PATHS ${CMAKE_MODULE_PATH})