diff --git a/CMakeLists.txt b/CMakeLists.txt index 279c3627913..cd388570f0c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -560,6 +560,13 @@ if(WERROR) unset(werror_flag) endif() +# Prefer Unix-style package components over frameworks on macOS. +# This improves compatibility with Python version managers. +set(Python3_FIND_FRAMEWORK LAST CACHE STRING "") +# Search for generic names before more specialized ones. This +# improves compatibility with Python version managers that use shims. +set(Python3_FIND_UNVERSIONED_NAMES FIRST CACHE STRING "") +mark_as_advanced(Python3_FIND_FRAMEWORK Python3_FIND_UNVERSIONED_NAMES) find_package(Python3 3.10 COMPONENTS Interpreter) if(Python3_EXECUTABLE) set(PYTHON_COMMAND ${Python3_EXECUTABLE})