lysnikolaou commented on code in PR #43606: URL: https://github.com/apache/arrow/pull/43606#discussion_r1711212606
########## cpp/cmake_modules/UseCython.cmake: ########## @@ -184,4 +184,24 @@ function(cython_add_module _name pyx_target_name generated_files) add_dependencies(${_name} ${pyx_target_name}) endfunction() +execute_process(COMMAND ${PYTHON_EXECUTABLE} -m cython --version + OUTPUT_VARIABLE CYTHON_version_output + ERROR_VARIABLE CYTHON_version_error + RESULT_VARIABLE CYTHON_version_result + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_STRIP_TRAILING_WHITESPACE) +if(NOT ${CYTHON_version_result} EQUAL 0) + set(_error_msg "Command \"${PYTHON_EXECUTABLE} -m cython --version\" failed with") + set(_error_msg "${_error_msg} output:\n${CYTHON_version_error}") + message(SEND_ERROR "${_error_msg}") +else() + if("${CYTHON_version_output}" MATCHES "^[Cc]ython version ([^,]+)") + set(CYTHON_VERSION "${CMAKE_MATCH_1}") + else() + if("${CYTHON_version_error}" MATCHES "^[Cc]ython version ([^,]+)") + set(CYTHON_VERSION "${CMAKE_MATCH_1}") + endif() + endif() +endif() Review Comment: > Can we require Cython 3.1.0a0 or later for Python 3.13 and we always enable the flag with Python 3.13? We can do that. However, we'll still need CMake code to get the Python version, so there's still going to be some extra CMake stuff, which will probably be the same in terms of maintenance cost as the current version, right? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: github-unsubscr...@arrow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org