summaryrefslogtreecommitdiff
path: root/Modules/FindPythonLibs.cmake
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2017-10-11 10:58:22 -0400
committerBrad King <brad.king@kitware.com>2017-10-11 10:58:22 -0400
commit3976a1066afc89e23f4f7be2040c1e7835324f03 (patch)
treec288871c8e111385389abfcf7165a3824163a902 /Modules/FindPythonLibs.cmake
parenta4b216711b982da7ba89ff2e16f3923254172817 (diff)
downloadcmake-3976a1066afc89e23f4f7be2040c1e7835324f03.tar.gz
FindPythonLibs: Prefer libs early in search path regardless of name
Add `NAMES_PER_DIR` to all `find_library` invocations so that we consider all possible names in each search directory before moving on to the next directory. This helps find the package that appears earliest in the search path regardless of how it names its libraries. Fixes: #17336
Diffstat (limited to 'Modules/FindPythonLibs.cmake')
-rw-r--r--Modules/FindPythonLibs.cmake3
1 files changed, 3 insertions, 0 deletions
diff --git a/Modules/FindPythonLibs.cmake b/Modules/FindPythonLibs.cmake
index 63ec9a84e2..986726abeb 100644
--- a/Modules/FindPythonLibs.cmake
+++ b/Modules/FindPythonLibs.cmake
@@ -122,6 +122,7 @@ foreach(_CURRENT_VERSION ${_Python_VERSIONS})
if(WIN32)
find_library(PYTHON_DEBUG_LIBRARY
NAMES python${_CURRENT_VERSION_NO_DOTS}_d python
+ NAMES_PER_DIR
HINTS ${_Python_LIBRARY_PATH_HINT}
PATHS
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/libs/Debug
@@ -145,6 +146,7 @@ foreach(_CURRENT_VERSION ${_Python_VERSIONS})
python${_CURRENT_VERSION}m
python${_CURRENT_VERSION}u
python${_CURRENT_VERSION}
+ NAMES_PER_DIR
HINTS
${_Python_LIBRARY_PATH_HINT}
PATHS
@@ -157,6 +159,7 @@ foreach(_CURRENT_VERSION ${_Python_VERSIONS})
# Look for the static library in the Python config directory
find_library(PYTHON_LIBRARY
NAMES python${_CURRENT_VERSION_NO_DOTS} python${_CURRENT_VERSION}
+ NAMES_PER_DIR
# Avoid finding the .dll in the PATH. We want the .lib.
NO_SYSTEM_ENVIRONMENT_PATH
# This is where the static library is usually located