From 3c08d2075fae7ef62838f18e1af5d398c6401572 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Br=C3=BCns?= Date: Mon, 8 Jan 2018 13:45:37 +0100 Subject: 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 --- Modules/FindJava.cmake | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/Modules/FindJava.cmake b/Modules/FindJava.cmake index b913e17..e3f5af6 100644 --- a/Modules/FindJava.cmake +++ b/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() -- cgit v0.12