Browse Source

FindJava: Do not accept OS X stub 'java' as Java

OS X provides a stub 'java' to inform callers that Java is not present.
When checking the 'java -version' output, look for such a message and if
found pretend 'java' was not found.

Suggested-by: Sean McBride <[email protected]>
Brad King 11 years ago
parent
commit
dd378258f1
1 changed files with 4 additions and 1 deletions
  1. 4 1
      Modules/FindJava.cmake

+ 4 - 1
Modules/FindJava.cmake

@@ -115,7 +115,10 @@ if(Java_JAVA_EXECUTABLE)
       OUTPUT_STRIP_TRAILING_WHITESPACE
       ERROR_STRIP_TRAILING_WHITESPACE)
     if( res )
-      if(${Java_FIND_REQUIRED})
+      if(var MATCHES "No Java runtime present, requesting install")
+        set_property(CACHE Java_JAVA_EXECUTABLE
+          PROPERTY VALUE "Java_JAVA_EXECUTABLE-NOTFOUND")
+      elseif(${Java_FIND_REQUIRED})
         message( FATAL_ERROR "Error executing java -version" )
       else()
         message( STATUS "Warning, could not run java -version")