Kaynağa Gözat

FindJava: ignore javah for JDK 10, it has been removed

The standalone javah tool has been removed, header generation happens
during execution of javac.  `javac -h` allows generation of headers
only.  See http://openjdk.java.net/projects/jdk/10/ and
http://openjdk.java.net/jeps/313 for details.

Fixes: #17613
Stefan Brüns 8 yıl önce
ebeveyn
işleme
3c08d2075f
1 değiştirilmiş dosya ile 25 ekleme ve 9 silme
  1. 25 9
      Modules/FindJava.cmake

+ 25 - 9
Modules/FindJava.cmake

@@ -237,10 +237,18 @@ if(Java_FIND_COMPONENTS)
       endif()
     elseif(component STREQUAL "Development")
       list(APPEND _JAVA_REQUIRED_VARS Java_JAVA_EXECUTABLE Java_JAVAC_EXECUTABLE
-                                      Java_JAVAH_EXECUTABLE Java_JAVADOC_EXECUTABLE)
-      if(Java_JAVA_EXECUTABLE AND Java_JAVAC_EXECUTABLE
-          AND Java_JAVAH_EXECUTABLE AND Java_JAVADOC_EXECUTABLE)
-        set(Java_Development_FOUND TRUE)
+                                      Java_JAVADOC_EXECUTABLE)
+      if(Java_VERSION VERSION_LESS "1.10")
+        list(APPEND _JAVA_REQUIRED_VARS Java_JAVAH_EXECUTABLE)
+        if(Java_JAVA_EXECUTABLE AND Java_JAVAC_EXECUTABLE
+            AND Java_JAVAH_EXECUTABLE AND Java_JAVADOC_EXECUTABLE)
+          set(Java_Development_FOUND TRUE)
+        endif()
+      else()
+        if(Java_JAVA_EXECUTABLE AND Java_JAVAC_EXECUTABLE
+            AND Java_JAVADOC_EXECUTABLE)
+          set(Java_Development_FOUND TRUE)
+        endif()
       endif()
     elseif(component STREQUAL "IdlJ")
       list(APPEND _JAVA_REQUIRED_VARS Java_IDLJ_EXECUTABLE)
@@ -268,11 +276,19 @@ if(Java_FIND_COMPONENTS)
   endif()
 else()
   # Check for Development
-  find_package_handle_standard_args(Java
-    REQUIRED_VARS Java_JAVA_EXECUTABLE Java_JAR_EXECUTABLE Java_JAVAC_EXECUTABLE
-                  Java_JAVAH_EXECUTABLE Java_JAVADOC_EXECUTABLE
-    VERSION_VAR Java_VERSION_STRING
-    )
+  if(Java_VERSION VERSION_LESS "1.10")
+    find_package_handle_standard_args(Java
+      REQUIRED_VARS Java_JAVA_EXECUTABLE Java_JAR_EXECUTABLE Java_JAVAC_EXECUTABLE
+                    Java_JAVAH_EXECUTABLE Java_JAVADOC_EXECUTABLE
+      VERSION_VAR Java_VERSION_STRING
+      )
+  else()
+    find_package_handle_standard_args(Java
+      REQUIRED_VARS Java_JAVA_EXECUTABLE Java_JAR_EXECUTABLE Java_JAVAC_EXECUTABLE
+                    Java_JAVADOC_EXECUTABLE
+      VERSION_VAR Java_VERSION_STRING
+      )
+  endif()
 endif()