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)