Make requests python package to be detected in the same way as numpy
This solves missing requests package reported on the systems where it's located in dist-packages rather than in site-packages. To do this there's now a helper macros which handles both requests and numpy now and could be used for more packages in the future. Reviewers: campbellbarton Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D686
This commit is contained in:
@@ -1324,3 +1324,54 @@ macro(msgfmt_simple
|
||||
unset(_file_to)
|
||||
unset(_file_to_path)
|
||||
endmacro()
|
||||
|
||||
macro(find_python_package
|
||||
package)
|
||||
|
||||
string(TOUPPER ${package} _upper_package)
|
||||
|
||||
# set but invalid
|
||||
if((NOT ${PYTHON_${_upper_package}_PATH} STREQUAL "") AND
|
||||
(NOT ${PYTHON_${_upper_package}_PATH} MATCHES NOTFOUND))
|
||||
# if(NOT EXISTS "${PYTHON_${_upper_package}_PATH}/${package}")
|
||||
# message(WARNING "PYTHON_${_upper_package}_PATH is invalid, ${package} not found in '${PYTHON_${_upper_package}_PATH}' "
|
||||
# "WITH_PYTHON_INSTALL_${_upper_package} option will be ignored when installing python")
|
||||
# set(WITH_PYTHON_INSTALL${_upper_package} OFF)
|
||||
# endif()
|
||||
# not set, so initialize
|
||||
else()
|
||||
string(REPLACE "." ";" _PY_VER_SPLIT "${PYTHON_VERSION}")
|
||||
list(GET _PY_VER_SPLIT 0 _PY_VER_MAJOR)
|
||||
|
||||
# re-cache
|
||||
unset(PYTHON_${_upper_package}_PATH CACHE)
|
||||
find_path(PYTHON_${_upper_package}_PATH
|
||||
NAMES
|
||||
${package}
|
||||
HINTS
|
||||
"${PYTHON_LIBPATH}/python${PYTHON_VERSION}/"
|
||||
"${PYTHON_LIBPATH}/python${_PY_VER_MAJOR}/"
|
||||
PATH_SUFFIXES
|
||||
site-packages
|
||||
dist-packages
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
|
||||
if(NOT EXISTS "${PYTHON_${_upper_package}_PATH}")
|
||||
message(WARNING "'${package}' path could not be found in:\n"
|
||||
"'${PYTHON_LIBPATH}/python${PYTHON_VERSION}/site-packages/${package}', "
|
||||
"'${PYTHON_LIBPATH}/python${_PY_VER_MAJOR}/site-packages/${package}', "
|
||||
"'${PYTHON_LIBPATH}/python${PYTHON_VERSION}/dist-packages/${package}', "
|
||||
"'${PYTHON_LIBPATH}/python${_PY_VER_MAJOR}/dist-packages/${package}', "
|
||||
"WITH_PYTHON_INSTALL_${_upper_package} option will be ignored when installing python")
|
||||
set(WITH_PYTHON_INSTALL_${_upper_package} OFF)
|
||||
else()
|
||||
message(STATUS "${package} found at '${PYTHON_${_upper_package}_PATH}'")
|
||||
endif()
|
||||
|
||||
unset(_PY_VER_SPLIT)
|
||||
unset(_PY_VER_MAJOR)
|
||||
endif()
|
||||
|
||||
unset(_upper_package)
|
||||
endmacro()
|
||||
|
Reference in New Issue
Block a user