diff --git a/cmake/modules/FindPyQt5.cmake b/cmake/modules/FindPyQt5.cmake --- a/cmake/modules/FindPyQt5.cmake +++ b/cmake/modules/FindPyQt5.cmake @@ -42,6 +42,9 @@ STRING(REGEX REPLACE ".*\npyqt_version_tag:([^\n]+).*$" "\\1" PYQT5_VERSION_TAG ${pyqt5_config}) STRING(REGEX REPLACE ".*\npyqt_sip_dir:([^\n]+).*$" "\\1" PYQT5_SIP_DIR ${pyqt5_config}) STRING(REGEX REPLACE ".*\npyqt_sip_flags:([^\n]+).*$" "\\1" PYQT5_SIP_FLAGS ${pyqt5_config}) + IF(${pyqt5_config} MATCHES pyqt_sip_name) + STRING(REGEX REPLACE ".*\npyqt_sip_name:([^\n]+).*$" "\\1" PYQT5_SIP_NAME ${pyqt5_config}) + ENDIF(${pyqt5_config} MATCHES pyqt_sip_name) SET(PYQT5_FOUND TRUE) ENDIF(pyqt5_config) diff --git a/cmake/modules/FindPyQt5.py b/cmake/modules/FindPyQt5.py --- a/cmake/modules/FindPyQt5.py +++ b/cmake/modules/FindPyQt5.py @@ -11,7 +11,8 @@ pyqt_version_tag = "" in_t = False -for item in PyQt5.Qt.PYQT_CONFIGURATION["sip_flags"].split(' '): +pyqt_config_list = PyQt5.Qt.PYQT_CONFIGURATION["sip_flags"].split(' ') +for item in pyqt_config_list: if item == "-t": in_t = True elif in_t: @@ -21,6 +22,13 @@ in_t = False print("pyqt_version_tag:%s" % pyqt_version_tag) +try: + index_n = pyqt_config_list.index('-n') + pyqt_sip_name = '-n' + pyqt_config_list[index_n + 1] + print("pyqt_sip_name:%s" % pyqt_sip_name) +except ValueError: + pass + # FIXME This next line is just a little bit too crude. pyqt_sip_dir = os.path.join(sys.prefix, "share", "sip", "PyQt5") print("pyqt_sip_dir:%s" % pyqt_sip_dir) diff --git a/plugins/extensions/pykrita/sip/CMakeLists.txt b/plugins/extensions/pykrita/sip/CMakeLists.txt --- a/plugins/extensions/pykrita/sip/CMakeLists.txt +++ b/plugins/extensions/pykrita/sip/CMakeLists.txt @@ -12,13 +12,9 @@ ${PYQT_SIP_DIR_OVERRIDE} ./krita) -if(${PYQT5_VERSION_STR} VERSION_EQUAL "5.11.0" OR ${PYQT5_VERSION_STR} VERSION_GREATER "5.11.0") - set(SIP_NAME -n PyQt5.sip) -endif() - set(SIP_CONCAT_PARTS 1) set(SIP_TAGS ALL WS_X11 ${PYQT5_VERSION_TAG}) -set(SIP_EXTRA_OPTIONS -g -x PyKDE_QVector ${SIP_NAME}) +set(SIP_EXTRA_OPTIONS -g -x PyKDE_QVector ${PYQT5_SIP_NAME}) set(PYTHON_SITE_PACKAGES_INSTALL_DIR ${LIB_INSTALL_DIR}/krita-python-libs) file(GLOB PYKRITA_KRITA_sip_files ./krita/*.sip)