From efa0e2ddafe48ef0921b31aef37c3187a7bb6b97 Mon Sep 17 00:00:00 2001
From: Christian Oyarzun <co@oyarzun.net>
Date: Sun, 6 Aug 2023 13:50:05 -0400
Subject: [PATCH] FindJNI: Update for Xcode greater than 12.1 on macOS

`JavaVM.framework` was removed from Xcode in version 12.2+.

Fixes: #23364
---
 Modules/FindJNI.cmake | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/Modules/FindJNI.cmake b/Modules/FindJNI.cmake
index 27f9b0e199..c6d7b09328 100644
--- a/Modules/FindJNI.cmake
+++ b/Modules/FindJNI.cmake
@@ -383,6 +383,23 @@ foreach(JAVA_PROG "${JAVA_RUNTIME}" "${JAVA_COMPILE}" "${JAVA_ARCHIVE}")
 endforeach()
 
 if(APPLE)
+  if(DEFINED XCODE_VERSION)
+    set(_FindJNI_XCODE_VERSION "${XCODE_VERSION}")
+  else()
+    # get xcode version
+    execute_process(
+          COMMAND xcodebuild -version
+          OUTPUT_VARIABLE _xcode_version
+          )
+    string(REGEX REPLACE "Xcode ([0-9]+(\\.[0-9]+)*)" "\\1" _FindJNI_XCODE_VERSION ${_xcode_version})
+    unset(_xcode_version)
+  endif()
+
+  if(_FindJNI_XCODE_VERSION VERSION_GREATER 12.1)
+    set(CMAKE_FIND_FRAMEWORK "NEVER")
+  endif()
+  unset(_FindJNI_XCODE_VERSION)
+
   if(CMAKE_FIND_FRAMEWORK STREQUAL "ONLY")
     set(_JNI_SEARCHES FRAMEWORK)
   elseif(CMAKE_FIND_FRAMEWORK STREQUAL "NEVER")
-- 
GitLab