diff --git a/mlir/CMakeLists.txt b/mlir/CMakeLists.txt --- a/mlir/CMakeLists.txt +++ b/mlir/CMakeLists.txt @@ -78,10 +78,9 @@ "Links to specific python libraries, resolving all symbols.") if(MLIR_BINDINGS_PYTHON_ENABLED) - find_package(PythonInterp REQUIRED) - find_package(PythonLibs REQUIRED) - message(STATUS "Found python include dirs: ${PYTHON_INCLUDE_DIRS}") - message(STATUS "Found python libraries: ${PYTHON_LIBRARIES}") + find_package(Python3 COMPONENTS Interpreter Development REQUIRED) + message(STATUS "Found python include dirs: ${Python3_INCLUDE_DIRS}") + message(STATUS "Found python libraries: ${Python3_LIBRARIES}") find_package(pybind11 CONFIG REQUIRED) # TODO: pybind11 v2.6 switched from pybind11_INCLUDE_DIRS (plural) to # pybind11_INCLUDE_DIR (singular). A lot has changed in this area since this diff --git a/mlir/cmake/modules/AddMLIRPythonExtension.cmake b/mlir/cmake/modules/AddMLIRPythonExtension.cmake --- a/mlir/cmake/modules/AddMLIRPythonExtension.cmake +++ b/mlir/cmake/modules/AddMLIRPythonExtension.cmake @@ -24,12 +24,12 @@ # symbols, which is better for development. Note that not all python # configurations provide build-time libraries to link against, in which # case, we fall back to MODULE linking. - if(PYTHON_LIBRARIES STREQUAL "" OR NOT MLIR_PYTHON_BINDINGS_VERSION_LOCKED) + if(Python3_LIBRARIES STREQUAL "" OR NOT MLIR_PYTHON_BINDINGS_VERSION_LOCKED) set(PYEXT_LINK_MODE MODULE) set(PYEXT_LIBADD) else() set(PYEXT_LINK_MODE SHARED) - set(PYEXT_LIBADD ${PYTHON_LIBRARIES}) + set(PYEXT_LIBADD ${Python3_LIBRARIES}) endif() # The actual extension library produces a shared-object or DLL and has @@ -40,7 +40,7 @@ ) target_include_directories(${libname} PRIVATE - "${PYTHON_INCLUDE_DIRS}" + "${Python3_INCLUDE_DIRS}" "${pybind11_INCLUDE_DIR}" )