From dd72b19f861d6c39796fdf9950f585f0368348a9 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 29 Jan 2014 13:51:32 -0500 Subject: [PATCH] Find{Java,JNI}: Use /usr/libexec/java_home on OS X If no JAVA_HOME or ENV{JAVA_HOME} is set then try running this tool to get the system default Java home. Suggested-by: Larry Shaffer --- Modules/CMakeFindJavaCommon.cmake | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Modules/CMakeFindJavaCommon.cmake b/Modules/CMakeFindJavaCommon.cmake index fd5268905..fcf038970 100644 --- a/Modules/CMakeFindJavaCommon.cmake +++ b/Modules/CMakeFindJavaCommon.cmake @@ -25,6 +25,17 @@ else() if(_ENV_JAVA_HOME AND IS_DIRECTORY "${_ENV_JAVA_HOME}") set(_JAVA_HOME "${_ENV_JAVA_HOME}") set(_JAVA_HOME_EXPLICIT 1) + else() + set(_CMD_JAVA_HOME "") + if(APPLE AND EXISTS /usr/libexec/java_home) + execute_process(COMMAND /usr/libexec/java_home + OUTPUT_VARIABLE _CMD_JAVA_HOME OUTPUT_STRIP_TRAILING_WHITESPACE) + endif() + if(_CMD_JAVA_HOME AND IS_DIRECTORY "${_CMD_JAVA_HOME}") + set(_JAVA_HOME "${_CMD_JAVA_HOME}") + set(_JAVA_HOME_EXPLICIT 0) + endif() + unset(_CMD_JAVA_HOME) endif() unset(_ENV_JAVA_HOME) endif()