Robust detection of Cython version (#19537)

This commit is contained in:
Ilya Lavrenov 2023-09-01 14:45:51 +04:00 committed by GitHub
parent 936dc051ff
commit 7d718fbff2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 30 additions and 9 deletions

View File

@ -21,13 +21,11 @@ endif()
include (cmake/UseCython.cmake) include (cmake/UseCython.cmake)
# Ticket 119312 if(CYTHON_VERSION VERSION_LESS 0.29)
# # Check Cython version message(FATAL_ERROR "OpenVINO Python API needs at least Cython version 0.29, found version ${CYTHON_VERSION}")
# if(CYTHON_VERSION VERSION_LESS "0.29") else()
# message(FATAL_ERROR "OpenVINO Python API needs at least Cython version 0.29, found version ${CYTHON_VERSION}") message(STATUS "Found Cython version ${CYTHON_VERSION}")
# else() endif()
# message(STATUS "Found Cython version ${CYTHON_VERSION}")
# endif()
set(pyversion python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}) set(pyversion python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR})

View File

@ -50,7 +50,30 @@ include( FindPackageHandleStandardArgs )
FIND_PACKAGE_HANDLE_STANDARD_ARGS( Cython REQUIRED_VARS CYTHON_EXECUTABLE ) FIND_PACKAGE_HANDLE_STANDARD_ARGS( Cython REQUIRED_VARS CYTHON_EXECUTABLE )
# Find Cython version # Find Cython version
execute_process(COMMAND ${CYTHON_EXECUTABLE} -V ERROR_VARIABLE CYTHON_OUTPUT OUTPUT_QUIET) execute_process(COMMAND ${CYTHON_EXECUTABLE} -V
string(REGEX REPLACE "^Cython version ([0-9]+\\.[0-9]+(\\.[0-9]+)?).*" "\\1" CYTHON_VERSION "${CYTHON_OUTPUT}") ERROR_VARIABLE CYTHON_OUTPUT
OUTPUT_VARIABLE CYTHON_ERROR_MESSAGE
RESULT_VARIABLE CYTHON_EXIT_CODE
OUTPUT_STRIP_TRAILING_WHITESPACE)
if(CYTHON_EXIT_CODE EQUAL 0)
if(NOT CYTHON_OUTPUT)
set(CYTHON_OUTPUT "${CYTHON_ERROR_MESSAGE}")
endif()
string(REGEX REPLACE "^Cython version ([0-9]+\\.[0-9]+(\\.[0-9]+)?).*" "\\1" CYTHON_VERSION "${CYTHON_OUTPUT}")
else()
if(${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY)
set(CYTHON_MESSAGE_MODE TRACE)
endif()
if(${CMAKE_FIND_PACKAGE_NAME}_FIND_REQUIRED)
set(CYTHON_MESSAGE_MODE FATAL_ERROR)
endif()
message(${CYTHON_MESSAGE_MODE} "Failed to detect cython version: ${CYTHON_ERROR_MESSAGE}")
unset(CYTHON_MESSAGE_MODE)
endif()
unset(CYTHON_OUTPUT)
unset(CYTHON_EXIT_CODE)
unset(CYTHON_ERROR_MESSAGE)
mark_as_advanced( CYTHON_EXECUTABLE CYTHON_VERSION ) mark_as_advanced( CYTHON_EXECUTABLE CYTHON_VERSION )