MantisBT - CMake
View Issue Details
0014389CMake(No Category)public2013-09-04 10:212014-03-21 18:03
ycollet 
Graham Markall 
normalminoralways
closedfixed 
x86_64Windows7
CMake 2.8.11.2 
CMake 3.0CMake 3.0 
0014389: Find package Java should look first in the JAVA_HOME env var.
Actually, find_package(Java) look first into windows registry and last in the JAVA_HOME environment variable.
It should look first in JAVA_HOME env var and then in the registry.
This will allow a user to select the version of java he wanted to use (32 / 64 bits, 1.7 / 1.6).
Today, if a java sdk has been correctly installed, it will be always selected by find_package.
No tags attached.
Issue History
2013-09-04 10:21ycolletNew Issue
2013-09-04 10:34ycolletNote Added: 0033784
2014-03-21 17:55Graham MarkallNote Added: 0035476
2014-03-21 18:03Graham MarkallAssigned To => Graham Markall
2014-03-21 18:03Graham MarkallStatusnew => closed
2014-03-21 18:03Graham MarkallResolutionopen => fixed
2014-03-21 18:03Graham MarkallFixed in Version => CMake 3.0
2014-03-21 18:03Graham MarkallTarget Version => CMake 3.0

Notes
(0033784)
ycollet   
2013-09-04 10:34   
In FindJava.cmake,

I replaced

set(_JAVA_HINTS
  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\2.0;JavaHome]/bin"
  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.9;JavaHome]/bin"
  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.8;JavaHome]/bin"
  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.7;JavaHome]/bin"
  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.6;JavaHome]/bin"
  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.5;JavaHome]/bin"
  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.4;JavaHome]/bin"
  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.3;JavaHome]/bin"
  $ENV{JAVA_HOME}/bin
  )


By

set(_JAVA_HINTS
  $ENV{JAVA_HOME}/bin
  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\2.0;JavaHome]/bin"
  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.9;JavaHome]/bin"
  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.8;JavaHome]/bin"
  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.7;JavaHome]/bin"
  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.6;JavaHome]/bin"
  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.5;JavaHome]/bin"
  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.4;JavaHome]/bin"
  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.3;JavaHome]/bin"
  )

And it worked

YC
(0035476)
Graham Markall   
2014-03-21 17:55   
A similar change has recently been applied: http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4b3614b [^]