mirror of
https://github.com/Kitware/CMake.git
synced 2026-03-01 04:08:46 -06:00
Merge topic 'FindPython_MKL_Workaround'
df551ee538 FindPython: fix NumPy detection when Intel MKL library is installed
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9359
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user