$OpenBSD: patch-Modules_FindJava_cmake,v 1.11 2013/06/06 12:47:06 dcoppa Exp $
--- Modules/FindJava.cmake.orig	Tue Nov 27 14:26:32 2012
+++ Modules/FindJava.cmake	Wed Dec  5 10:19:25 2012
@@ -56,6 +56,8 @@
 # (To distribute this file outside of CMake, substitute the full
 #  License text for the above reference.)
 
+set(MODJAVA_VER $ENV{MODJAVA_VER})
+
 # The HINTS option should only be used for values computed from the system.
 set(_JAVA_HINTS
   "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\2.0;JavaHome]/bin"
@@ -70,19 +72,32 @@ set(_JAVA_HINTS
   )
 # Hard-coded guesses should still go in PATHS. This ensures that the user
 # environment can always override hard guesses.
-set(_JAVA_PATHS
-  /usr/lib/java/bin
-  /usr/share/java/bin
-  /usr/local/java/bin
-  /usr/local/java/share/bin
-  /usr/java/j2sdk1.4.2_04
-  /usr/lib/j2sdk1.4-sun/bin
-  /usr/java/j2sdk1.4.2_09/bin
-  /usr/lib/j2sdk1.5-sun/bin
-  /opt/sun-jdk-1.5.0.04/bin
-  /usr/local/jdk-1.7.0/bin
-  /usr/local/jdk-1.6.0/bin
-  )
+if(MODJAVA_VER)
+  if(MODJAVA_VER MATCHES "^1\\.6$")
+    set(_JAVA_PATHS ${LOCALBASE}/jdk-1.6.0/bin)
+  elseif(MODJAVA_VER MATCHES "^1\\.6\\+$")
+    set(_JAVA_PATHS
+      ${LOCALBASE}/jdk-1.7.0/bin
+      ${LOCALBASE}/jdk-1.6.0/bin
+      )
+  else(MODJAVA_VER MATCHES "^1\\.6$")
+    set(_JAVA_PATHS ${LOCALBASE}/jdk-1.7.0/bin)
+  endif(MODJAVA_VER MATCHES "^1\\.6$")
+else(MODJAVA_VER)
+  set(_JAVA_PATHS
+    /usr/lib/java/bin
+    /usr/share/java/bin
+    /usr/local/java/bin
+    /usr/local/java/share/bin
+    /usr/java/j2sdk1.4.2_04
+    /usr/lib/j2sdk1.4-sun/bin
+    /usr/java/j2sdk1.4.2_09/bin
+    /usr/lib/j2sdk1.5-sun/bin
+    /opt/sun-jdk-1.5.0.04/bin
+    ${LOCALBASE}/jdk-1.7.0/bin
+    ${LOCALBASE}/jdk-1.6.0/bin
+    )
+endif(MODJAVA_VER)
 find_program(Java_JAVA_EXECUTABLE
   NAMES java
   HINTS ${_JAVA_HINTS}
