Index: lldb/cmake/modules/LLDBConfig.cmake =================================================================== --- lldb/cmake/modules/LLDBConfig.cmake +++ lldb/cmake/modules/LLDBConfig.cmake @@ -185,6 +185,28 @@ message(STATUS "LLDB Found PythonIncludeDirs: ${PYTHON_INCLUDE_DIR}") endfunction(find_python_libs_windows) +function(find_python_libs) + if(NOT CMAKE_VERSION VERSION_LESS "3.12") + find_package(Python COMPONENTS Interpreter Development) + if(Python_FOUND) + set(PYTHON_EXECUTABLE ${Python_EXECUTABLE}) + set(PYTHON_LIBRARY ${Python_LIBRARIES}) + set(PYTHON_INCLUDE_DIR ${Python_INCLUDE_DIRS}) + set(PYTHON_VERSION_STRING ${Python_VERSION}) + set(PYTHONLIBS_VERSION_STRING ${Python_VERSION}) + + set(PYTHON_EXECUTABLE ${PYTHON_EXECUTABLE} PARENT_SCOPE) + set(PYTHON_LIBRARY ${PYTHON_LIBRARY} PARENT_SCOPE) + set(PYTHON_INCLUDE_DIR ${PYTHON_INCLUDE_DIR} PARENT_SCOPE) + set(PYTHON_VERSION_STRING ${PYTHON_VERSION_STRING} PARENT_SCOPE) + set(PYTHONLIBS_VERSION_STRING ${PYTHONLIBS_VERSION_STRING} PARENT_SCOPE) + endif() + else() + find_package(PythonInterp REQUIRED) + find_package(PythonLibs REQUIRED) + endif() +endfunction(find_python_libs) + if (NOT LLDB_DISABLE_PYTHON) if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows") find_python_libs_windows() @@ -194,8 +216,7 @@ add_definitions( -DLLDB_PYTHON_HOME="${LLDB_PYTHON_HOME}" ) endif() else() - find_package(PythonInterp REQUIRED) - find_package(PythonLibs REQUIRED) + find_python_libs() endif() if (NOT PYTHON_VERSION_STRING VERSION_EQUAL PYTHONLIBS_VERSION_STRING AND