mirror of
https://github.com/Kitware/CMake.git
synced 2026-04-26 00:00:39 -05:00
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
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user