Warning, /graphics/krita/3rdparty/ext_python/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 SET(PREFIX_ext_python "${EXTPREFIX}" )
0002 if (UNIX)
0003     if (APPLE)
0004         if(MACOS_ARCHS GREATER 1)
0005             set(PYTHON_MACOS_CONFIG "--enable-universalsdk" "--with-universal-archs=universal2")
0006         endif()
0007         ExternalProject_Add( ext_python
0008             DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
0009             URL https://www.python.org/ftp/python/3.10.7/Python-3.10.7.tar.xz
0010             URL_MD5 b8094f007b3a835ca3be6bdf8116cccc
0011 
0012             PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/osx_fixappinstall.diff
0013 
0014             # Setuptools needs OpenSSL 1.1, the stock libssl isn't enough
0015             CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env
0016                 PATH="${PREFIX_ext_python}/lib/Python.framework/Versions/Current/bin:$ENV{PATH}"
0017                 <SOURCE_DIR>/configure MACOSX_DEPLOYMENT_TARGET=10.13 --prefix=${PREFIX_ext_python} ${GLOBAL_AUTOMAKE_PROFILE} --with-openssl=${PREFIX_ext_python}
0018                 --enable-framework=${PREFIX_ext_python}/lib --enable-optimizations --with-suffix=no
0019                 ${PYTHON_MACOS_CONFIG}
0020 
0021             # force single-threaded installation to avoid race conditions
0022             INSTALL_COMMAND ${CMAKE_COMMAND} -E env
0023                 PATH="${PREFIX_ext_python}/lib/Python.framework/Versions/Current/bin:$ENV{PATH}"
0024                 make -j1 install
0025 
0026             UPDATE_COMMAND ""
0027 
0028             DEPENDS ext_openssl
0029         )
0030         ExternalProject_Add_Step( ext_python create_symlink
0031             COMMENT "Creating helper symlinks"
0032             COMMAND ${CMAKE_COMMAND} -E copy ${PREFIX_ext_python}/bin/python3 ${PREFIX_ext_python}/bin/python
0033             COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/sitecustomize.py ${PREFIX_ext_python}/lib/Python.framework/Versions/Current/lib/python${PYTHON_VERSION}/
0034             COMMAND ${CMAKE_COMMAND} -E create_symlink ${PREFIX_ext_python}/lib/Python.framework/Versions/Current/lib/python${PYTHON_VERSION} ${PREFIX_ext_python}/lib/python${PYTHON_VERSION}
0035             COMMAND ${CMAKE_COMMAND} -E create_symlink ${PREFIX_ext_python}/lib/Python.framework/Versions/Current/include/python${PYTHON_VERSION} ${PREFIX_ext_python}/include/python${PYTHON_VERSION}
0036             COMMAND ${CMAKE_COMMAND} -E create_symlink ./lib/python${PYTHON_VERSION}/site-packages ${PREFIX_ext_python}/lib/Python.framework/Versions/Current/site-packages
0037             # CMake FindPythonLib can't find framework libraries, lack of maintainer for Python
0038             COMMAND find ${PREFIX_ext_python}/lib/Python.framework/Versions/Current/lib -type l -d 1
0039             | grep -o "[^/]*$"
0040             | xargs -I FILE ${CMAKE_COMMAND} -E create_symlink ./Python.framework/Python ${PREFIX_ext_python}/lib/FILE
0041             DEPENDEES install
0042         )
0043         ExternalProject_Add_Step( ext_python update_sip
0044             COMMENT "Updating pip"
0045             COMMAND COMMAND ${PREFIX_ext_python}/bin/python3 -m pip install --upgrade pip
0046             DEPENDEES install
0047         )
0048         ExternalProject_Add_Step( ext_python update_certifi
0049             COMMENT "Deploying certifi to our OpenSSL CApath"
0050             COMMAND ${PREFIX_ext_python}/bin/python3 ${CMAKE_CURRENT_SOURCE_DIR}/install_certificates.py
0051             DEPENDEES update_sip
0052         )
0053 
0054     else()
0055 
0056     ExternalProject_Add( ext_python
0057         DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
0058         URL https://www.python.org/ftp/python/3.10.7/Python-3.10.7.tar.xz
0059         URL_MD5 b8094f007b3a835ca3be6bdf8116cccc
0060 
0061         CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=${PREFIX_ext_python} ${GLOBAL_AUTOMAKE_PROFILE} --enable-shared
0062 
0063         UPDATE_COMMAND ""
0064     )
0065 
0066     ExternalProject_Add_Step( ext_python post_install
0067         COMMAND ${CMAKE_COMMAND} -E copy ${PREFIX_ext_python}/bin/python3 ${PREFIX_ext_python}/bin/python
0068         DEPENDEES install
0069     )
0070     endif()
0071 elseif(WIN32)
0072     ExternalProject_Add( ext_python
0073         DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
0074         URL https://www.python.org/ftp/python/3.10.7/python-3.10.7-embed-amd64.zip
0075         URL_MD5 7f90f8642c1b19cf02bce91a5f4f9263
0076 
0077         INSTALL_DIR ${PREFIX_ext_python}
0078         CONFIGURE_COMMAND ""
0079         BUILD_COMMAND ""
0080         INSTALL_COMMAND ${CMAKE_COMMAND} -E echo deploying python3 64-bit binary
0081                 COMMAND ${CMAKE_COMMAND} -E copy_directory <SOURCE_DIR>/ ${PREFIX_ext_python}/python
0082                 COMMAND ${CMAKE_COMMAND} -E copy <SOURCE_DIR>/python3.dll ${PREFIX_ext_python}/bin
0083                 COMMAND ${CMAKE_COMMAND} -E copy <SOURCE_DIR>/python310.dll ${PREFIX_ext_python}/bin
0084                 COMMAND ${CMAKE_COMMAND} -E copy <SOURCE_DIR>/vcruntime140.dll ${PREFIX_ext_python}/bin
0085                 COMMAND ${CMAKE_COMMAND} -E copy <SOURCE_DIR>/vcruntime140_1.dll ${PREFIX_ext_python}/bin
0086                 COMMAND ${CMAKE_COMMAND} -E make_directory ${PREFIX_ext_python}/lib/site-packages/
0087                 COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/sitecustomize.py ${PREFIX_ext_python}/lib/site-packages/
0088         UPDATE_COMMAND ""
0089     )
0090 endif()