Upgrade cython

This commit is contained in:
Guilhem Lavaux 2024-06-11 08:50:34 +02:00
parent eeacfd281e
commit c60e92f549

View file

@ -9,14 +9,14 @@ SET(INTERNAL_KDTREE_SCIPY ON)
IF (INTERNAL_SETUPTOOLS) IF (INTERNAL_SETUPTOOLS)
execute_process( execute_process(
COMMAND ${PYTHON_EXECUTABLE} -c "import setuptools; print(setuptools.__version__);" COMMAND ${PYTHON_EXECUTABLE} -c "import setuptools; print(setuptools.__version__);"
RESULT_VARIABLE RET_VALUE RESULT_VARIABLE RET_VALUE
OUTPUT_VARIABLE SETUPTOOLS_VERSION OUTPUT_VARIABLE SETUPTOOLS_VERSION
) )
IF (SETUPTOOLS_VERSION VERSION_GREATER 0.7) IF (SETUPTOOLS_VERSION VERSION_GREATER 0.7)
message(STATUS "Setuptools recent. Not building it.") message(STATUS "Setuptools recent. Not building it.")
SET(INTERNAL_SETUPTOOLS OFF) SET(INTERNAL_SETUPTOOLS OFF)
ENDIF() ENDIF()
ENDIF() ENDIF()
IF (PYTHON_VERSION_STRING VERSION_LESS 2.7) IF (PYTHON_VERSION_STRING VERSION_LESS 2.7)
@ -27,7 +27,7 @@ ELSE (PYTHON_VERSION_STRING VERSION_LESS 2.7)
ENDIF (PYTHON_VERSION_STRING VERSION_LESS 2.7) ENDIF (PYTHON_VERSION_STRING VERSION_LESS 2.7)
IF(INTERNAL_CYTHON) IF(INTERNAL_CYTHON)
SET(CYTHON_URL "https://files.pythonhosted.org/packages/d2/12/8ef44cede251b93322e8503fd6e1b25a0249fa498bebec191a5a06adbe51/Cython-0.28.4.tar.gz" CACHE STRING "URL to download Cython from") SET(CYTHON_URL "https://github.com/cython/cython/releases/download/3.0.10/Cython-3.0.10.tar.gz" CACHE STRING "URL to download Cython from")
mark_as_advanced(CYTHON_URL) mark_as_advanced(CYTHON_URL)
ENDIF(INTERNAL_CYTHON) ENDIF(INTERNAL_CYTHON)
@ -48,7 +48,7 @@ ENDIF(INTERNAL_SETUPTOOLS)
IF(INTERNAL_ARGPARSE) IF(INTERNAL_ARGPARSE)
SET(ARGPARSE_URL "http://argparse.googlecode.com/files/argparse-1.2.1.tar.gz" CACHE STRING "URL to download argparse from") SET(ARGPARSE_URL "http://argparse.googlecode.com/files/argparse-1.2.1.tar.gz" CACHE STRING "URL to download argparse from")
mark_as_advanced(ARGPARSE_URL) mark_as_advanced(ARGPARSE_URL)
ENDIF(INTERNAL_ARGPARSE) ENDIF(INTERNAL_ARGPARSE)
IF(INTERNAL_SCIPY) IF(INTERNAL_SCIPY)
@ -72,7 +72,7 @@ IF(RET_VALUE)
ENDIF(RET_VALUE) ENDIF(RET_VALUE)
STRING(REGEX REPLACE "(\r?\n)+$" "" PYTHON_LOCAL_SITE_PACKAGE "${PYTHON_LOCAL_SITE_PACKAGE}") STRING(REGEX REPLACE "(\r?\n)+$" "" PYTHON_LOCAL_SITE_PACKAGE "${PYTHON_LOCAL_SITE_PACKAGE}")
MESSAGE(STATUS "Python is installing its packages in ${PYTHON_LOCAL_SITE_PACKAGE}") MESSAGE(STATUS "Python is installing its packages in ${PYTHON_LOCAL_SITE_PACKAGE}")
# Create that directory # Create that directory
file(MAKE_DIRECTORY ${PYTHON_LOCAL_SITE_PACKAGE}) file(MAKE_DIRECTORY ${PYTHON_LOCAL_SITE_PACKAGE})
@ -86,24 +86,24 @@ SET(BASIC_PYTHON_ENV "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} "
IF(INTERNAL_CYTHON) IF(INTERNAL_CYTHON)
SET(cosmotool_DEPS ${cosmotool_DEPS} cython) SET(cosmotool_DEPS ${cosmotool_DEPS} cython)
SET(BUILD_ENVIRONMENT SET(BUILD_ENVIRONMENT
${CMAKE_COMMAND} ${CMAKE_COMMAND}
${BASIC_PYTHON_ENV} ${BASIC_PYTHON_ENV}
"-P") "-P")
ExternalProject_Add(cython ExternalProject_Add(cython
DEPENDS ${PREV_PYTHON_BUILD} DEPENDS ${PREV_PYTHON_BUILD}
URL ${CYTHON_URL} URL ${CYTHON_URL}
URL_HASH SHA256=76ac2b08d3d956d77b574bb43cbf1d37bd58b9d50c04ba281303e695854ebc46 URL_HASH SHA256=dcc96739331fb854dcf503f94607576cfe8488066c61ca50dfd55836f132de99
PREFIX ${BUILD_PREFIX}/cython-prefix PREFIX ${BUILD_PREFIX}/cython-prefix
CONFIGURE_COMMAND echo "No configure" CONFIGURE_COMMAND echo "No configure"
BUILD_IN_SOURCE 1 BUILD_IN_SOURCE 1
BUILD_COMMAND ${BUILD_ENVIRONMENT} ${CMAKE_SOURCE_DIR}/external/python_build.cmake BUILD_COMMAND ${BUILD_ENVIRONMENT} ${CMAKE_SOURCE_DIR}/external/python_build.cmake
INSTALL_COMMAND ${BUILD_ENVIRONMENT} ${CMAKE_SOURCE_DIR}/external/python_install.cmake INSTALL_COMMAND ${BUILD_ENVIRONMENT} ${CMAKE_SOURCE_DIR}/external/python_install.cmake
) )
SET(PREV_PYTHON_BUILD ${PREV_PYTHON_BUILD} cython) SET(PREV_PYTHON_BUILD ${PREV_PYTHON_BUILD} cython)
file(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/cython-wrap file(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/cython-wrap
"#!/bin/sh\n${CMAKE_BINARY_DIR}/run_python.sh ${CMAKE_BINARY_DIR}/ext_build/python/bin/cython $@\n") "#!/bin/sh\n${CMAKE_BINARY_DIR}/run_python.sh ${CMAKE_BINARY_DIR}/ext_build/python/bin/cython $@\n")
file(COPY ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/cython-wrap file(COPY ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/cython-wrap
DESTINATION ${CMAKE_BINARY_DIR}/ext_build/python/bin DESTINATION ${CMAKE_BINARY_DIR}/ext_build/python/bin
FILE_PERMISSIONS OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE) FILE_PERMISSIONS OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE)
SET(CYTHON_OPTION -DCYTHON:FILEPATH=${CMAKE_BINARY_DIR}/ext_build/python/bin/cython-wrap) SET(CYTHON_OPTION -DCYTHON:FILEPATH=${CMAKE_BINARY_DIR}/ext_build/python/bin/cython-wrap)
@ -115,29 +115,29 @@ ENDIF(INTERNAL_CYTHON)
IF(INTERNAL_NETCDF4_PYTHON) IF(INTERNAL_NETCDF4_PYTHON)
SET(PYTHON_CPPFLAGS -I${NETCDF_INCLUDE_PATH}) SET(PYTHON_CPPFLAGS -I${NETCDF_INCLUDE_PATH})
SET(PYTHON_LDFLAGS -L${NETCDF_BIN_DIR}/lib) SET(PYTHON_LDFLAGS -L${NETCDF_BIN_DIR}/lib)
SET(BUILD_ENVIRONMENT SET(BUILD_ENVIRONMENT
${CMAKE_COMMAND} ${CMAKE_COMMAND}
${BASIC_PYTHON_ENV} ${BASIC_PYTHON_ENV}
"-DPYTHON_CPPFLAGS:STRING=${PYTHON_CPPFLAGS}" "-DPYTHON_CPPFLAGS:STRING=${PYTHON_CPPFLAGS}"
"-DHDF5_DIR=${HDF5_BIN_DIR}" "-DHDF5_DIR=${HDF5_BIN_DIR}"
"-DNETCDF4_DIR=${NETCDF_BIN_DIR}" "-DNETCDF4_DIR=${NETCDF_BIN_DIR}"
"-DPYTHON_LDFLAGS:STRING=${PYTHON_LDFLAGS}" "-DPYTHON_LDFLAGS:STRING=${PYTHON_LDFLAGS}"
"-P") "-P")
ExternalProject_Add(netcdf4-python ExternalProject_Add(netcdf4-python
DEPENDS ${PREV_PYTHON_BUILD} netcdf DEPENDS ${PREV_PYTHON_BUILD} netcdf
URL ${NETCDF4_PYTHON_URL} URL ${NETCDF4_PYTHON_URL}
PREFIX ${BUILD_PREFIX}/netcdf4-python-prefix PREFIX ${BUILD_PREFIX}/netcdf4-python-prefix
CONFIGURE_COMMAND echo "No configure" CONFIGURE_COMMAND echo "No configure"
BUILD_IN_SOURCE 1 BUILD_IN_SOURCE 1
BUILD_COMMAND ${BUILD_ENVIRONMENT} ${CMAKE_SOURCE_DIR}/external/python_build.cmake BUILD_COMMAND ${BUILD_ENVIRONMENT} ${CMAKE_SOURCE_DIR}/external/python_build.cmake
INSTALL_COMMAND ${BUILD_ENVIRONMENT} ${CMAKE_SOURCE_DIR}/external/python_install.cmake INSTALL_COMMAND ${BUILD_ENVIRONMENT} ${CMAKE_SOURCE_DIR}/external/python_install.cmake
) )
SET(PREV_PYTHON_BUILD ${PREV_PYTHON_BUILD} netcdf4-python) SET(PREV_PYTHON_BUILD ${PREV_PYTHON_BUILD} netcdf4-python)
ENDIF(INTERNAL_NETCDF4_PYTHON) ENDIF(INTERNAL_NETCDF4_PYTHON)
IF(INTERNAL_HEALPY) IF(INTERNAL_HEALPY)
SET(BUILD_ENVIRONMENT SET(BUILD_ENVIRONMENT
${CMAKE_COMMAND} ${CMAKE_COMMAND}
${BASIC_PYTHON_ENV} ${BASIC_PYTHON_ENV}
"-DPYTHON_CPPFLAGS:STRING=${PYTHON_CPPFLAGS}" "-DPYTHON_CPPFLAGS:STRING=${PYTHON_CPPFLAGS}"
@ -161,7 +161,7 @@ IF(INTERNAL_HEALPY)
ENDIF(INTERNAL_HEALPY) ENDIF(INTERNAL_HEALPY)
IF(INTERNAL_SETUPTOOLS) IF(INTERNAL_SETUPTOOLS)
SET(BUILD_ENVIRONMENT SET(BUILD_ENVIRONMENT
${CMAKE_COMMAND} ${CMAKE_COMMAND}
${BASIC_PYTHON_ENV} ${BASIC_PYTHON_ENV}
"-P") "-P")
@ -192,7 +192,7 @@ IF(INTERNAL_ARGPARSE)
ENDIF(INTERNAL_ARGPARSE) ENDIF(INTERNAL_ARGPARSE)
IF(INTERNAL_SCIPY) IF(INTERNAL_SCIPY)
SET(BUILD_ENVIRONMENT SET(BUILD_ENVIRONMENT
${CMAKE_COMMAND} ${CMAKE_COMMAND}
${BASIC_PYTHON_ENV} ${BASIC_PYTHON_ENV}
"-P") "-P")
@ -211,7 +211,7 @@ IF(INTERNAL_SCIPY)
ENDIF(INTERNAL_SCIPY) ENDIF(INTERNAL_SCIPY)
IF(INTERNAL_KDTREE_SCIPY) IF(INTERNAL_KDTREE_SCIPY)
SET(BUILD_ENVIRONMENT SET(BUILD_ENVIRONMENT
${CMAKE_COMMAND} ${CMAKE_COMMAND}
${BASIC_PYTHON_ENV} ${BASIC_PYTHON_ENV}
"-P") "-P")
@ -224,9 +224,9 @@ IF(INTERNAL_KDTREE_SCIPY)
BUILD_IN_SOURCE 1 BUILD_IN_SOURCE 1
BUILD_COMMAND ${BUILD_ENVIRONMENT} ${CMAKE_SOURCE_DIR}/external/python_build.cmake BUILD_COMMAND ${BUILD_ENVIRONMENT} ${CMAKE_SOURCE_DIR}/external/python_build.cmake
INSTALL_COMMAND ${BUILD_ENVIRONMENT} ${CMAKE_SOURCE_DIR}/external/python_install.cmake INSTALL_COMMAND ${BUILD_ENVIRONMENT} ${CMAKE_SOURCE_DIR}/external/python_install.cmake
PATCH_COMMAND ${CMAKE_COMMAND} PATCH_COMMAND ${CMAKE_COMMAND}
-DPATCH_FILE=${CMAKE_SOURCE_DIR}/external/patch_kdtree -DPATCH_FILE=${CMAKE_SOURCE_DIR}/external/patch_kdtree
-DBUILD_PREFIX=${BUILD_PREFIX}/kdtree-scipy-prefix -DBUILD_PREFIX=${BUILD_PREFIX}/kdtree-scipy-prefix
-DSOURCE_PREFIX=${BUILD_PREFIX}/kdtree-scipy-prefix/src/kdtree-scipy -DSOURCE_PREFIX=${BUILD_PREFIX}/kdtree-scipy-prefix/src/kdtree-scipy
-P ${CMAKE_SOURCE_DIR}/external/check_and_apply_patch.cmake -P ${CMAKE_SOURCE_DIR}/external/check_and_apply_patch.cmake
) )