summaryrefslogtreecommitdiffstats
path: root/Modules/FindPythonInterp.cmake
diff options
context:
space:
mode:
authorRolf Eike Beer <eike@sf-mail.de>2012-01-27 20:15:53 (GMT)
committerRolf Eike Beer <eike@sf-mail.de>2012-01-27 20:15:53 (GMT)
commitbde7b5aafd5ab1ff180c900b0e473fc85bafa724 (patch)
tree7b84a709229d748a8adfd394d9b042f90d7028d4 /Modules/FindPythonInterp.cmake
parent208569f1da0cf2c481f4b377ad4fe542a3a74e2a (diff)
downloadCMake-bde7b5aafd5ab1ff180c900b0e473fc85bafa724.zip
CMake-bde7b5aafd5ab1ff180c900b0e473fc85bafa724.tar.gz
CMake-bde7b5aafd5ab1ff180c900b0e473fc85bafa724.tar.bz2
FindPythonInterp: try harder to get a version number
Diffstat (limited to 'Modules/FindPythonInterp.cmake')
-rw-r--r--Modules/FindPythonInterp.cmake17
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