Refactor finding python3 to use standard cmake find_package (#3778)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3903d75..b37f0e0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -374,18 +374,17 @@
 # Non-LLVM Dependencies
 #-------------------------------------------------------------------------------
 
-# Use the (deprecated) FindPythonInterp/FindPythonLibs functions before
-# any of our dependencies do. See
+# Use the FindPython functions before any of our dependencies do. See
 # https://pybind11.readthedocs.io/en/stable/faq.html#inconsistent-detection-of-python-version-in-cmake-and-pybind11
 # If one dependency finds Python 2 (the default),
 # any others that try to find Python 3 will fail.
 # (Also come on, it's $CURRENT_YEAR - please just use Python 3 already.)
 if(${IREE_BUILD_COMPILER} OR ${IREE_BUILD_PYTHON_BINDINGS})
-  find_package(PythonInterp 3 REQUIRED)
+  find_package(Python3 COMPONENTS Interpreter REQUIRED)
 endif()
 if(${IREE_BUILD_PYTHON_BINDINGS})
   # Note: Optional because python libs can be manually specified.
-  find_package(PythonLibs 3)
+  find_package(Python3 COMPONENTS Interpreter Development REQUIRED)
 endif()
 
 include(external_cc_library)
diff --git a/SUBMODULE_VERSIONS b/SUBMODULE_VERSIONS
index ce29072..98a234a 100644
--- a/SUBMODULE_VERSIONS
+++ b/SUBMODULE_VERSIONS
@@ -3,7 +3,7 @@
 63b254577ed77a8004a9be6ac707f3dccc4e1fd9 third_party/cpuinfo
 4c13807b7d43ff0946b7ffea0ae3aee9e611d778 third_party/dear_imgui
 4fb0ff7069bd88ee85902f4d0bb62794e5f6d021 third_party/flatcc
-f2fb48c3b3d79a75a88a99fba6576b25d42ec528 third_party/googletest
+b1fbd33c06cdb0024c67733c6fdec2009d17b384 third_party/googletest
 8b160a35ad63f9390c31d6a6cd0097bd2a2a3cfe third_party/llvm-bazel
 620adacf87a376ec536ccc66af59df5bb4dc3b38 third_party/llvm-project
 55801f03f9cc69abfcf8b508a873f702c11b3b5f third_party/mlir-emitc
diff --git a/build_tools/cmake/iree_multipy.cmake b/build_tools/cmake/iree_multipy.cmake
index f773925..1ac1028 100644
--- a/build_tools/cmake/iree_multipy.cmake
+++ b/build_tools/cmake/iree_multipy.cmake
@@ -22,7 +22,7 @@
   # Configure the defaults.
   # Note that this is using the pybind11 configuration vars, which creates
   # a fragile dependency. It would be better to derive these locally.
-  if(PYTHONLIBS_FOUND)
+  if(Python3_FOUND)
     set(IREE_MULTIPY_DEFAULT_EXECUTABLE "${PYTHON_EXECUTABLE}" CACHE INTERNAL "Python executable" )
     set(IREE_MULTIPY_DEFAULT_INCLUDE_DIRS "${PYTHON_INCLUDE_DIRS}" CACHE INTERNAL "Python include dirs" )
     set(IREE_MULTIPY_DEFAULT_LIBRARIES "${PYTHON_LIBRARIES}" CACHE INTERNAL "Python libraries")
diff --git a/third_party/googletest b/third_party/googletest
index f2fb48c..b1fbd33 160000
--- a/third_party/googletest
+++ b/third_party/googletest
@@ -1 +1 @@
-Subproject commit f2fb48c3b3d79a75a88a99fba6576b25d42ec528
+Subproject commit b1fbd33c06cdb0024c67733c6fdec2009d17b384