Warning, /graphics/krita/cmake/modules/FindPyQt5.cmake is written in an unsupported language. File is not indexed.

0001 # Find PyQt5
0002 # ~~~~~~~~~~
0003 # SPDX-FileCopyrightText: 2014 Simon Edwards <simon@simonzone.com>
0004 # SPDX-FileCopyrightText: 2021 L. E. Segovia <amy@amyspark.me>
0005 #
0006 # SPDX-License-Identifier: BSD-3-Clause
0007 #
0008 # PyQt5 website: http://www.riverbankcomputing.co.uk/pyqt/index.php
0009 #
0010 # Find the installed version of PyQt5. FindPyQt5 should only be called after
0011 # Python has been found.
0012 #
0013 # This file defines the following variables:
0014 #
0015 # PYQT5_VERSION - The version of PyQt5 found expressed as a 6 digit hex number
0016 #     suitable for comparison as a string
0017 #
0018 # PYQT5_VERSION_STR - The version of PyQt5 as a human readable string.
0019 #
0020 # PYQT5_VERSION_TAG - The PyQt version tag using by PyQt's sip files.
0021 #
0022 # PYQT5_SIP_DIR - The directory holding the PyQt5 .sip files.
0023 #
0024 # PYQT5_SIP_FLAGS - The SIP flags used to build PyQt.
0025 #
0026 # PYQT5_SIP_TAGS - The SIP tags necessary to bind to PyQt. (v5+)
0027 
0028 IF(EXISTS PYQT5_VERSION)
0029   # Already in cache, be silent
0030   SET(PYQT5_FOUND TRUE)
0031 ELSE(EXISTS PYQT5_VERSION)
0032 
0033   FIND_FILE(_find_pyqt5_py FindPyQt5.py PATHS ${CMAKE_MODULE_PATH})
0034 
0035 
0036   if (WIN32)
0037     # python modules need Qt and C++ libraries be added via explicit
0038     # calls to os.add_dll_directory(), so we should provide it with
0039     # correct paths
0040     get_target_property(LIBQT5CORE_PATH Qt5::Core IMPORTED_LOCATION_RELEASE)
0041     get_filename_component(LIBQT5CORE_PATH ${LIBQT5CORE_PATH} PATH)
0042     get_filename_component(MINGW_PATH ${CMAKE_CXX_COMPILER} PATH)
0043 
0044     set(_pyqt5_python_path "${KRITA_PYTHONPATH_V4};${KRITA_PYTHONPATH_V5};$ENV{PYTHONPATH}")
0045 
0046     EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E env
0047       "PYTHONPATH=${_pyqt5_python_path}"
0048       "PYTHONDLLPATH=${LIBQT5CORE_PATH};${MINGW_PATH};"
0049       ${Python_EXECUTABLE} ${_find_pyqt5_py}
0050       OUTPUT_VARIABLE pyqt5_config)
0051   else (WIN32)
0052     set(_pyqt5_python_path "${KRITA_PYTHONPATH_V4}:${KRITA_PYTHONPATH_V5}:$ENV{PYTHONPATH}")
0053 
0054     EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E env 
0055       "PYTHONPATH=${_pyqt5_python_path}"
0056       ${Python_EXECUTABLE} ${_find_pyqt5_py}
0057       OUTPUT_VARIABLE pyqt5_config)
0058   endif (WIN32)
0059 
0060   IF(pyqt5_config)
0061     STRING(REGEX REPLACE "^pyqt_version:([^\n]+).*$" "\\1" PYQT5_VERSION ${pyqt5_config})
0062     STRING(REGEX REPLACE ".*\npyqt_version_str:([^\n]+).*$" "\\1" PYQT5_VERSION_STR ${pyqt5_config})
0063     STRING(REGEX REPLACE ".*\npyqt_version_tag:([^\n]+).*$" "\\1" PYQT5_VERSION_TAG ${pyqt5_config})
0064     STRING(REGEX REPLACE ".*\npyqt_sip_dir:([^\n]+).*$" "\\1" PYQT5_SIP_DIR ${pyqt5_config})
0065     STRING(REGEX REPLACE ".*\npyqt_sip_flags:([^\n]+).*$" "\\1" PYQT5_SIP_FLAGS ${pyqt5_config})
0066     STRING(REGEX REPLACE ".*\npyqt_sip_tags:([^\n]+).*$" "\\1" _tags ${pyqt5_config})
0067     STRING(REPLACE "," ";" PYQT5_SIP_TAGS ${_tags})
0068     IF(${pyqt5_config} MATCHES pyqt_sip_name)
0069       STRING(REGEX REPLACE ".*\npyqt_sip_name:([^\n]+).*$" "\\1" PYQT5_SIP_NAME ${pyqt5_config})
0070     ENDIF(${pyqt5_config} MATCHES pyqt_sip_name)
0071 
0072     SET(PYQT5_FOUND TRUE)
0073   ENDIF(pyqt5_config)
0074 
0075   IF(PYQT5_FOUND)
0076     IF(NOT PYQT5_FIND_QUIETLY)
0077       MESSAGE(STATUS "Found PyQt5 version: ${PYQT5_VERSION_STR}")
0078     ENDIF(NOT PYQT5_FIND_QUIETLY)
0079   ELSE(PYQT5_FOUND)
0080     IF(PYQT5_FIND_REQUIRED)
0081       MESSAGE(FATAL_ERROR "Could not find PyQt5.")
0082     ENDIF(PYQT5_FIND_REQUIRED)
0083   ENDIF(PYQT5_FOUND)
0084 
0085 ENDIF(EXISTS PYQT5_VERSION)