diff options
author | Rolf Eike Beer <eike@sf-mail.de> | 2012-01-27 20:15:53 (GMT) |
---|---|---|
committer | Rolf Eike Beer <eike@sf-mail.de> | 2012-01-27 20:15:53 (GMT) |
commit | bde7b5aafd5ab1ff180c900b0e473fc85bafa724 (patch) | |
tree | 7b84a709229d748a8adfd394d9b042f90d7028d4 /Modules | |
parent | 208569f1da0cf2c481f4b377ad4fe542a3a74e2a (diff) | |
download | CMake-bde7b5aafd5ab1ff180c900b0e473fc85bafa724.zip CMake-bde7b5aafd5ab1ff180c900b0e473fc85bafa724.tar.gz CMake-bde7b5aafd5ab1ff180c900b0e473fc85bafa724.tar.bz2 |
FindPythonInterp: try harder to get a version number
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/FindPythonInterp.cmake | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/Modules/FindPythonInterp.cmake b/Modules/FindPythonInterp.cmake index d5a2a5e..5c1d56b 100644 --- a/Modules/FindPythonInterp.cmake +++ b/Modules/FindPythonInterp.cmake @@ -88,8 +88,19 @@ endif() # determine python version string if(PYTHON_EXECUTABLE) - execute_process(COMMAND "${PYTHON_EXECUTABLE}" --version ERROR_VARIABLE _VERSION OUTPUT_QUIET ERROR_STRIP_TRAILING_WHITESPACE) - if(_VERSION MATCHES "^Python [0-9]+\\.[0-9]+.*") + execute_process(COMMAND "${PYTHON_EXECUTABLE}" --version + ERROR_VARIABLE _VERSION + RESULT_VARIABLE _PYTHON_VERSION_RESULT + OUTPUT_QUIET + ERROR_STRIP_TRAILING_WHITESPACE) + if(_PYTHON_VERSION_RESULT) + execute_process(COMMAND "${PYTHON_EXECUTABLE}" -V + ERROR_VARIABLE _VERSION + RESULT_VARIABLE _PYTHON_VERSION_RESULT + OUTPUT_QUIET + ERROR_STRIP_TRAILING_WHITESPACE) + endif(_PYTHON_VERSION_RESULT) + if(NOT _PYTHON_VERSION_RESULT AND _VERSION MATCHES "^Python [0-9]+\\.[0-9]+.*") string(REPLACE "Python " "" PYTHON_VERSION_STRING "${_VERSION}") string(REGEX REPLACE "^([0-9]+)\\.[0-9]+.*" "\\1" PYTHON_VERSION_MAJOR "${PYTHON_VERSION_STRING}") string(REGEX REPLACE "^[0-9]+\\.([0-9])+.*" "\\1" PYTHON_VERSION_MINOR "${PYTHON_VERSION_STRING}") @@ -97,6 +108,8 @@ if(PYTHON_EXECUTABLE) string(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" PYTHON_VERSION_PATCH "${PYTHON_VERSION_STRING}") endif() endif() + unset(_PYTHON_VERSION_RESULT) + unset(_VERSION) endif(PYTHON_EXECUTABLE) # handle the QUIETLY and REQUIRED arguments and set PYTHONINTERP_FOUND to TRUE if |