Browse Source

FindPythonInterp: Document lack of version filtering for plain `python`

Also drop the `CMakeOnly.MajorVersionSelection-PythonInterp_2` test
because some environments now have a plain `python` executable for
Python 3.

Fixes: #19536
Brad King 6 years ago
parent
commit
800c3ab2e0
2 changed files with 10 additions and 1 deletions
  1. 9 0
      Modules/FindPythonInterp.cmake
  2. 1 1
      Tests/CMakeOnly/CMakeLists.txt

+ 9 - 0
Modules/FindPythonInterp.cmake

@@ -39,6 +39,15 @@ If calling both ``find_package(PythonInterp)`` and
 ``find_package(PythonLibs)``, call ``find_package(PythonInterp)`` first to
 get the currently active Python version by default with a consistent version
 of PYTHON_LIBRARIES.
+
+.. note::
+
+  A call to ``find_package(PythonInterp ${V})`` for python version ``V``
+  may find a ``python`` executable with no version suffix.  In this case
+  no attempt is made to avoid python executables from other versions.
+  Use :module:`FindPython3`, :module:`FindPython2` or :module:`FindPython`
+  instead.
+
 #]=======================================================================]
 
 unset(_Python_NAMES)

+ 1 - 1
Tests/CMakeOnly/CMakeLists.txt

@@ -84,5 +84,5 @@ function(add_major_test module)
 endfunction()
 
 add_major_test(PythonLibs VERSIONS 2 3 VERSION_VAR PYTHONLIBS_VERSION_STRING)
-add_major_test(PythonInterp NOLANG VERSIONS 2 3 VERSION_VAR PYTHON_VERSION_STRING)
+add_major_test(PythonInterp NOLANG VERSIONS 3 VERSION_VAR PYTHON_VERSION_STRING)
 add_major_test(Qt VERSIONS 3 4 VERSION_VAR QT_VERSION_STRING)