Warning, /graphics/krita/3rdparty/ext_pyqt/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 SET(PREFIX_ext_pyqt "${EXTPREFIX}" ) 0002 0003 if (APPLE) 0004 SET(Python_EXECUTABLE ${PREFIX_ext_sip}/bin/python3) 0005 if(NOT EXISTS "${Python_EXECUTABLE}") 0006 message("WARNING: using system python3!") 0007 SET(Python_EXECUTABLE python3) 0008 endif() 0009 0010 list(APPEND _PYQT_conf 0011 --confirm-license 0012 --qmake ${PREFIX_ext_pyqt}/bin/qmake 0013 --sip ${PREFIX_ext_pyqt}/bin/sip 0014 --sip-incdir ${PREFIX_ext_pyqt}/include 0015 --sipdir ${PREFIX_ext_pyqt}/share/sip 0016 ) 0017 ExternalProject_Add( ext_pyqt 0018 DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} 0019 URL https://files.kde.org/krita/build/dependencies/PyQt5_gpl-5.13.1.tar.gz 0020 URL_MD5 c77af2f4e230b0053fd22bc2ece2e6c0 0021 0022 CONFIGURE_COMMAND ${Python_EXECUTABLE} <SOURCE_DIR>/configure.py ${_PYQT_conf} 0023 0024 # force single-threaded installation to avoid 0025 # race conditions in post-install .py script 0026 INSTALL_COMMAND make -j1 install 0027 0028 BUILD_IN_SOURCE 1 0029 0030 UPDATE_COMMAND "" 0031 ) 0032 0033 elseif(UNIX) 0034 SET(Python_EXECUTABLE ${PREFIX_ext_pyqt}/bin/python3) 0035 if(NOT EXISTS ${Python_EXECUTABLE}) 0036 message("WARNING: using system python3!") 0037 SET(Python_EXECUTABLE python3) 0038 endif() 0039 0040 ExternalProject_Add(ext_pyqtbuilder 0041 DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} 0042 URL https://pypi.io/packages/source/P/PyQt-builder/PyQt-builder-1.13.0.tar.gz 0043 URL_HASH SHA256=4877580c38ceb5320e129b381d083b0a8601c68166d8b99707f08fa0a1689eef 0044 0045 CONFIGURE_COMMAND "" 0046 0047 BUILD_COMMAND ${CMAKE_COMMAND} -E env 0048 "PYTHONPATH=${KRITA_PYTHONPATH}" 0049 ${Python_EXECUTABLE} <SOURCE_DIR>/setup.py build ${_compiler} -j ${SUBMAKE_JOBS} 0050 0051 INSTALL_COMMAND ${CMAKE_COMMAND} -E env 0052 "PYTHONPATH=${KRITA_PYTHONPATH}" 0053 ${Python_EXECUTABLE} <SOURCE_DIR>/setup.py install --skip-build --prefix=${PREFIX_ext_pyqt} --optimize=1 0054 0055 BUILD_IN_SOURCE 1 0056 0057 UPDATE_COMMAND "" 0058 ) 0059 0060 ExternalProject_Add( ext_pyqt5 0061 DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} 0062 URL https://pypi.python.org/packages/source/P/PyQt5/PyQt5-5.15.7.tar.gz 0063 URL_HASH SHA256=755121a52b3a08cb07275c10ebb96576d36e320e572591db16cfdbc558101594 0064 0065 CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env 0066 "PYTHONPATH=${KRITA_PYTHONPATH}" 0067 ${PREFIX_ext_pyqt}/bin/sip-build --confirm-license --no-designer-plugin --no-qml-plugin --no-dbus-python --no-tools --no-make --jobs ${SUBMAKE_JOBS} 0068 0069 BUILD_COMMAND ${CMAKE_COMMAND} -E env 0070 "PYTHONPATH=${KRITA_PYTHONPATH}" 0071 ${CMAKE_COMMAND} -E chdir <SOURCE_DIR>/build 0072 make -j${SUBMAKE_JOBS} 0073 0074 # force single-threaded installation to avoid 0075 # race conditions in post-install .py script 0076 INSTALL_COMMAND ${CMAKE_COMMAND} -E env 0077 "PYTHONPATH=${KRITA_PYTHONPATH}" 0078 ${CMAKE_COMMAND} -E chdir <SOURCE_DIR>/build 0079 make -j1 install 0080 0081 BUILD_IN_SOURCE 1 0082 0083 UPDATE_COMMAND "" 0084 0085 DEPENDS ext_sip ext_pyqtbuilder 0086 ) 0087 0088 ExternalProject_Add( ext_pyqt5_sip 0089 DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} 0090 URL https://pypi.python.org/packages/source/P/PyQt5-sip/PyQt5_sip-12.11.0.tar.gz 0091 URL_HASH SHA256=b4710fd85b57edef716cc55fae45bfd5bfac6fc7ba91036f1dcc3f331ca0eb39 0092 0093 CONFIGURE_COMMAND "" 0094 0095 BUILD_COMMAND ${CMAKE_COMMAND} -E env 0096 "PYTHONPATH=${KRITA_PYTHONPATH}" 0097 ${Python_EXECUTABLE} <SOURCE_DIR>/setup.py build ${_compiler} -j ${SUBMAKE_JOBS} 0098 0099 # Here we need a flat-egg installation, otherwise the egg is deployed 0100 # inside its own directory in site-packages. 0101 # So we set as root our 3rdparty layout, and a sufficiently dud prefix. 0102 # See https://github.com/msys2/MINGW-packages/blob/8a4066591cf1e023971526c55bf2d5fe0c7aa84a/mingw-w64-pyqt5-sip/PKGBUILD 0103 INSTALL_COMMAND ${CMAKE_COMMAND} -E env 0104 "PYTHONPATH=${KRITA_PYTHONPATH}" 0105 ${Python_EXECUTABLE} <SOURCE_DIR>/setup.py install --prefix "." --root=${PREFIX_ext_pyqt} --optimize=1 0106 0107 BUILD_IN_SOURCE 1 0108 0109 UPDATE_COMMAND "" 0110 ) 0111 0112 add_custom_target(ext_pyqt) 0113 add_dependencies(ext_pyqt ext_pyqt5 ext_pyqt5_sip) 0114 elseif(WIN32) 0115 if(MINGW) 0116 set(_compiler -c mingw32) 0117 set(_make_command mingw32-make) 0118 elseif(MSVC) 0119 set(_compiler -c msvc) 0120 set(_make_command jom) 0121 endif() 0122 0123 krita_to_native_path("${PREFIX_ext_pyqt}" _pyqt_prefix) 0124 krita_to_native_path("${KRITA_PYTHONPATH}" _krita_pythonpath) 0125 string(TOLOWER ${_krita_pythonpath} _krita_pythonpath) 0126 krita_to_native_environment_path_list("${_krita_pythonpath}" _krita_pythonpath) 0127 0128 ExternalProject_Add(ext_pyqtbuilder 0129 DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} 0130 URL https://pypi.io/packages/source/P/PyQt-builder/PyQt-builder-1.13.0.tar.gz 0131 URL_HASH SHA256=4877580c38ceb5320e129b381d083b0a8601c68166d8b99707f08fa0a1689eef 0132 0133 PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/0001-Support-MinGW-and-MSYS-Python-builds.patch 0134 0135 CONFIGURE_COMMAND "" 0136 0137 BUILD_COMMAND ${CMAKE_COMMAND} -E env 0138 PYTHONPATH=${_krita_pythonpath} 0139 SETUPTOOLS_USE_DISTUTILS=local 0140 ${Python_EXECUTABLE} <SOURCE_DIR>/setup.py build ${_compiler} -j ${SUBMAKE_JOBS} 0141 0142 # HACK: Create lib\site-packages before installing 0143 # See e.g. https://access.redhat.com/errata/RHBA-2020:4437 0144 INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${_pyqt_prefix}\\lib\\site-packages 0145 COMMAND ${CMAKE_COMMAND} -E env 0146 PYTHONPATH=${_krita_pythonpath} 0147 SETUPTOOLS_USE_DISTUTILS=local 0148 ${Python_EXECUTABLE} <SOURCE_DIR>/setup.py install --skip-build --prefix=${_pyqt_prefix} --optimize=1 --install-scripts=${_pyqt_prefix}\\bin 0149 0150 BUILD_IN_SOURCE 1 0151 0152 UPDATE_COMMAND "" 0153 ) 0154 0155 ExternalProject_Add( ext_pyqt5 0156 DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} 0157 URL https://pypi.python.org/packages/source/P/PyQt5/PyQt5-5.15.7.tar.gz 0158 URL_HASH SHA256=755121a52b3a08cb07275c10ebb96576d36e320e572591db16cfdbc558101594 0159 0160 CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env 0161 PYTHONPATH=${_krita_pythonpath} 0162 ${PREFIX_ext_pyqt}/bin/sip-build --confirm-license --no-designer-plugin --no-qml-plugin --no-dbus-python --no-tools --no-make --target-dir ${PREFIX_ext_pyqt}\\lib\\site-packages --jobs ${SUBMAKE_JOBS} 0163 0164 BUILD_COMMAND ${CMAKE_COMMAND} -E chdir <SOURCE_DIR>/build 0165 ${CMAKE_COMMAND} -E env 0166 PYTHONPATH=${_krita_pythonpath} 0167 ${_make_command} -j${SUBMAKE_JOBS} 0168 0169 # force single-threaded installation to avoid 0170 # race conditions in post-install .py script 0171 INSTALL_COMMAND ${CMAKE_COMMAND} -E chdir <SOURCE_DIR>/build 0172 ${CMAKE_COMMAND} -E env 0173 PYTHONPATH=${_krita_pythonpath} 0174 ${_make_command} install 0175 0176 BUILD_IN_SOURCE 1 0177 0178 UPDATE_COMMAND "" 0179 0180 DEPENDS ext_sip ext_pyqtbuilder 0181 ) 0182 0183 ExternalProject_Add( ext_pyqt5_sip 0184 DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} 0185 URL https://pypi.python.org/packages/source/P/PyQt5-sip/PyQt5_sip-12.11.0.tar.gz 0186 URL_HASH SHA256=b4710fd85b57edef716cc55fae45bfd5bfac6fc7ba91036f1dcc3f331ca0eb39 0187 0188 PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/0001-MinGW-Distutils-support-hack.patch 0189 0190 CONFIGURE_COMMAND "" 0191 0192 BUILD_COMMAND ${CMAKE_COMMAND} -E env 0193 PYTHONPATH=${_krita_pythonpath} 0194 SETUPTOOLS_USE_DISTUTILS=local 0195 ${Python_EXECUTABLE} <SOURCE_DIR>/setup.py build ${_compiler} -j ${SUBMAKE_JOBS} 0196 0197 # Here we need a flat-egg installation, otherwise the egg is deployed 0198 # inside its own directory in site-packages. 0199 # So we set as root our 3rdparty layout, and a sufficiently dud prefix. 0200 # See https://github.com/msys2/MINGW-packages/blob/8a4066591cf1e023971526c55bf2d5fe0c7aa84a/mingw-w64-pyqt5-sip/PKGBUILD 0201 INSTALL_COMMAND ${CMAKE_COMMAND} -E env 0202 PYTHONPATH=${_krita_pythonpath} 0203 SETUPTOOLS_USE_DISTUTILS=local 0204 ${Python_EXECUTABLE} <SOURCE_DIR>/setup.py install --skip-build --prefix "." --root=${_pyqt_prefix} --optimize=1 --install-scripts=${_pyqt_prefix}\\bin 0205 0206 BUILD_IN_SOURCE 1 0207 0208 UPDATE_COMMAND "" 0209 ) 0210 0211 add_custom_target(ext_pyqt) 0212 add_dependencies(ext_pyqt ext_pyqt5 ext_pyqt5_sip) 0213 endif() 0214