diff options
-rw-r--r-- | build_files/build_environment/CMakeLists.txt | 7 | ||||
-rw-r--r-- | build_files/build_environment/cmake/python_site_packages.cmake | 9 |
2 files changed, 15 insertions, 1 deletions
diff --git a/build_files/build_environment/CMakeLists.txt b/build_files/build_environment/CMakeLists.txt index 8d6fd3ab4c3..10dbc41bef4 100644 --- a/build_files/build_environment/CMakeLists.txt +++ b/build_files/build_environment/CMakeLists.txt @@ -86,9 +86,14 @@ include(cmake/tbb.cmake) include(cmake/openvdb.cmake) include(cmake/nanovdb.cmake) include(cmake/python.cmake) +option(USE_PIP_NUMPY "Install NumPy using pip wheel instead of building from source" OFF) +if(APPLE AND ("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "x86_64")) + set(USE_PIP_NUMPY ON) +else() + include(cmake/numpy.cmake) +endif() include(cmake/python_site_packages.cmake) include(cmake/package_python.cmake) -include(cmake/numpy.cmake) include(cmake/usd.cmake) include(cmake/potrace.cmake) include(cmake/haru.cmake) diff --git a/build_files/build_environment/cmake/python_site_packages.cmake b/build_files/build_environment/cmake/python_site_packages.cmake index a3b9c3bf796..2b75a6a244f 100644 --- a/build_files/build_environment/cmake/python_site_packages.cmake +++ b/build_files/build_environment/cmake/python_site_packages.cmake @@ -28,6 +28,15 @@ ExternalProject_Add(external_python_site_packages INSTALL_COMMAND ${PYTHON_BINARY} -m pip install ${SITE_PACKAGES_EXTRA} cython==${CYTHON_VERSION} idna==${IDNA_VERSION} chardet==${CHARDET_VERSION} urllib3==${URLLIB3_VERSION} certifi==${CERTIFI_VERSION} requests==${REQUESTS_VERSION} --no-binary :all: ) +if(USE_PIP_NUMPY) + # Use only wheel (and not build from source) to stop NumPy from linking against buggy + # Accelerate framework backend on macOS. Official wheels are built with OpenBLAS. + ExternalProject_Add_Step(external_python_site_packages after_install + COMMAND ${PYTHON_BINARY} -m pip install --no-cache-dir numpy==${NUMPY_VERSION} --only-binary :all: + DEPENDEES install + ) +endif() + add_dependencies( external_python_site_packages external_python |