summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2024-08-27 13:21:11 (GMT)
committerKitware Robot <kwrobot@kitware.com>2024-08-27 13:21:34 (GMT)
commit1c279c6263117b6232f2842218fb0743b90ab189 (patch)
treed06000baa416563157c48b84cc72330f0ff3f40c
parentcc02ac8314f37fbad3c772b3edd4d4a360867b18 (diff)
parent516124ea23514ff9d7d7d9729031bf0b1e77b682 (diff)
downloadCMake-1c279c6263117b6232f2842218fb0743b90ab189.zip
CMake-1c279c6263117b6232f2842218fb0743b90ab189.tar.gz
CMake-1c279c6263117b6232f2842218fb0743b90ab189.tar.bz2
Merge topic 'FindPython-numpy-mkl'
516124ea23 FindPython: fix regression of NumPy detection with Intel MKL library Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9776
-rw-r--r--Modules/FindPython/Support.cmake17
1 files changed, 8 insertions, 9 deletions
diff --git a/Modules/FindPython/Support.cmake b/Modules/FindPython/Support.cmake
index 1386117..294e7d9 100644
--- a/Modules/FindPython/Support.cmake
+++ b/Modules/FindPython/Support.cmake
@@ -3903,11 +3903,12 @@ if ("NumPy" IN_LIST ${_PYTHON_PREFIX}_FIND_COMPONENTS AND ${_PYTHON_PREFIX}_Inte
# 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})
+ # See https://github.com/numpy/numpy/issues/23775 and
+ # https://gitlab.kitware.com/cmake/cmake/-/issues/26240
+ if(NOT DEFINED ENV{MKL_ENABLE_INSTRUCTIONS})
+ set(_${_PYTHON_PREFIX}_UNSET_ENV_VAR_MKL_ENABLE_INSTRUCTIONS YES)
+ set(ENV{MKL_ENABLE_INSTRUCTIONS} "SSE4_2")
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
@@ -3949,11 +3950,9 @@ 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 MKL_ENABLE_INSTRUCTIONS if set by us
+ if(DEFINED _${_PYTHON_PREFIX}_UNSET_ENV_VAR_MKL_ENABLE_INSTRUCTIONS)
+ unset(_${_PYTHON_PREFIX}_UNSET_ENV_VAR_MKL_ENABLE_INSTRUCTIONS)
unset(ENV{MKL_ENABLE_INSTRUCTIONS})
endif()