Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2014-07-28 18:42:30 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2014-07-28 18:53:02 +0400
commitc85265b4551acbc7adf41f47f612373e42e0176d (patch)
tree49cbc3a2b1cd0741250946c8b56e0b5d34d55f44 /build_files
parentc4b47b89f76d259792b3a8f0f9b6718668996000 (diff)
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
Diffstat (limited to 'build_files')
-rw-r--r--build_files/cmake/macros.cmake51
1 files changed, 51 insertions, 0 deletions
diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake
index 8890c137dd2..f896fb9d6a9 100644
--- a/build_files/cmake/macros.cmake
+++ b/build_files/cmake/macros.cmake
@@ -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()