|
|
@@ -3782,6 +3782,14 @@ if ("NumPy" IN_LIST ${_PYTHON_PREFIX}_FIND_COMPONENTS AND ${_PYTHON_PREFIX}_Inte
|
|
|
endif()
|
|
|
endif()
|
|
|
|
|
|
+ # Workaround Intel MKL library outputting a message in stdout, which cause
|
|
|
+ # incorrect detection of numpy.get_include() and numpy.__version__
|
|
|
+ # See https://github.com/numpy/numpy/issues/23775
|
|
|
+ if(DEFINED ENV{MKL_ENABLE_INSTRUCTIONS})
|
|
|
+ set(_${_PYTHON_PREFIX}_BACKUP_ENV_VAR_MKL_ENABLE_INSTRUCTIONS ENV{MKL_ENABLE_INSTRUCTIONS})
|
|
|
+ endif()
|
|
|
+ set(ENV{MKL_ENABLE_INSTRUCTIONS} "SSE4_2")
|
|
|
+
|
|
|
if (NOT _${_PYTHON_PREFIX}_NumPy_INCLUDE_DIR)
|
|
|
execute_process(COMMAND ${${_PYTHON_PREFIX}_INTERPRETER_LAUNCHER} "${_${_PYTHON_PREFIX}_EXECUTABLE}" -c
|
|
|
"import sys\ntry: import numpy; sys.stdout.write(numpy.get_include())\nexcept:pass\n"
|
|
|
@@ -3822,6 +3830,14 @@ if ("NumPy" IN_LIST ${_PYTHON_PREFIX}_FIND_COMPONENTS AND ${_PYTHON_PREFIX}_Inte
|
|
|
set (${_PYTHON_PREFIX}_NumPy_FOUND FALSE)
|
|
|
endif()
|
|
|
|
|
|
+ # Restore previous value of MKL_ENABLE_INSTRUCTIONS
|
|
|
+ if(DEFINED _${_PYTHON_PREFIX}_BACKUP_ENV_VAR_MKL_ENABLE_INSTRUCTIONS)
|
|
|
+ set(ENV{MKL_ENABLE_INSTRUCTIONS} ${_${_PYTHON_PREFIX}_BACKUP_ENV_VAR_MKL_ENABLE_INSTRUCTIONS})
|
|
|
+ unset(_${_PYTHON_PREFIX}_BACKUP_ENV_VAR_MKL_ENABLE_INSTRUCTIONS)
|
|
|
+ else()
|
|
|
+ unset(ENV{MKL_ENABLE_INSTRUCTIONS})
|
|
|
+ endif()
|
|
|
+
|
|
|
if (${_PYTHON_PREFIX}_NumPy_FOUND)
|
|
|
unset (_${_PYTHON_PREFIX}_NumPy_REASON_FAILURE CACHE)
|
|
|
|