better way to check Cython existence

release/4.3a0
Duy-Nguyen Ta 2017-04-07 00:08:08 -04:00
parent d2612d9fe1
commit e4b91fc17a
1 changed files with 11 additions and 15 deletions

View File

@ -30,21 +30,18 @@
# if it is a local installation. # if it is a local installation.
find_package( PythonInterp ) find_package( PythonInterp )
if ( PYTHONINTERP_FOUND ) if ( PYTHONINTERP_FOUND )
get_filename_component( _python_path ${PYTHON_EXECUTABLE} PATH ) execute_process( COMMAND "${PYTHON_EXECUTABLE}" "-c"
find_program( CYTHON_EXECUTABLE "import Cython; print Cython.__path__"
NAMES cython cython.bat cython3 RESULT_VARIABLE RESULT
PATHS ${_python_path} OUTPUT_VARIABLE CYTHON_PATH
NO_DEFAULT_PATH OUTPUT_STRIP_TRAILING_WHITESPACE
)
else ()
find_program( CYTHON_EXECUTABLE
NAMES cython cython.bat cython3
) )
endif () endif ()
if ( NOT CYTHON_EXECUTABLE STREQUAL "CYTHON_EXECUTABLE-NOTFOUND" ) # RESULT=0 means ok
execute_process( if ( NOT RESULT )
COMMAND ${CYTHON_EXECUTABLE} --version execute_process( COMMAND "${PYTHON_EXECUTABLE}" "-c"
"import Cython; print Cython.__version__"
RESULT_VARIABLE RESULT RESULT_VARIABLE RESULT
OUTPUT_VARIABLE CYTHON_VAR_OUTPUT OUTPUT_VARIABLE CYTHON_VAR_OUTPUT
ERROR_VARIABLE CYTHON_VAR_OUTPUT ERROR_VARIABLE CYTHON_VAR_OUTPUT
@ -61,9 +58,8 @@ find_package_handle_standard_args( Cython
FOUND_VAR FOUND_VAR
CYTHON_FOUND CYTHON_FOUND
REQUIRED_VARS REQUIRED_VARS
CYTHON_EXECUTABLE CYTHON_PATH
VERSION_VAR VERSION_VAR
CYTHON_VERSION CYTHON_VERSION
) )
mark_as_advanced( CYTHON_EXECUTABLE )