summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt McCormick <matt.mccormick@kitware.com>2014-02-27 02:47:20 (GMT)
committerBrad King <brad.king@kitware.com>2014-03-03 15:02:35 (GMT)
commit3816cd2dc7a7cc220e4f1b1e87fee986545b9cb3 (patch)
tree7a1d223f172dc12676df8977aa7395e500e97bfd
parent6e6fbb0e436889c93bb64930fda51a1ef32326ae (diff)
downloadCMake-3816cd2dc7a7cc220e4f1b1e87fee986545b9cb3.zip
CMake-3816cd2dc7a7cc220e4f1b1e87fee986545b9cb3.tar.gz
CMake-3816cd2dc7a7cc220e4f1b1e87fee986545b9cb3.tar.bz2
FindPythonLibs: Find consistent Python interp, headers, libs (#13794)
When possible, get consistent version of the Python interpreter, headers path, and library. Now find_package(PythonLibs) internally calls find_package(PythonInterp QUIET) and uses the resulting PYTHON_VERSION_MAJOR and PYTHON_VERSION_MINOR to prefer these versions when looking for the header path and library. The Python_ADDITIONAL_VERSIONS variable has priority over the interpreter version. Co-Author: Adam Wolf Co-Author: Gert Wollny <gw.fossdev@gmail.com>
-rw-r--r--Modules/FindPythonLibs.cmake13
1 files changed, 9 insertions, 4 deletions
diff --git a/Modules/FindPythonLibs.cmake b/Modules/FindPythonLibs.cmake
index 0749efc..27d9e45 100644
--- a/Modules/FindPythonLibs.cmake
+++ b/Modules/FindPythonLibs.cmake
@@ -80,10 +80,15 @@ endif()
# Set up the versions we know about, in the order we will search. Always add
# the user supplied additional versions to the front.
-set(_Python_VERSIONS
- ${Python_ADDITIONAL_VERSIONS}
- ${_PYTHON_FIND_OTHER_VERSIONS}
- )
+# If FindPythonInterp has already found the major and minor version,
+# insert that version between the user supplied versions and the stock
+# version list.
+find_package(PythonInterp QUIET)
+set(_Python_VERSIONS ${Python_ADDITIONAL_VERSIONS})
+if(DEFINED PYTHON_VERSION_MAJOR AND DEFINED PYTHON_VERSION_MINOR)
+ list(APPEND _Python_VERSIONS ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR})
+endif()
+list(APPEND _Python_VERSIONS ${_PYTHON_FIND_OTHER_VERSIONS})
unset(_PYTHON_FIND_OTHER_VERSIONS)
unset(_PYTHON1_VERSIONS)