[Cmake-commits] [cmake-commits] malaterre committed FindJava.cmake 1.17 1.18

cmake-commits at cmake.org cmake-commits at cmake.org
Fri Oct 30 04:06:02 EDT 2009


Update of /cvsroot/CMake/CMake/Modules
In directory public:/mounts/ram/cvs-serv959/Modules

Modified Files:
	FindJava.cmake 
Log Message:
FIX: BUG: 0009795 FindJava now respect naming convention and handle VERSION/EXACT.


Index: FindJava.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/FindJava.cmake,v
retrieving revision 1.17
retrieving revision 1.18
diff -C 2 -d -r1.17 -r1.18
*** FindJava.cmake	28 Sep 2009 15:45:33 -0000	1.17
--- FindJava.cmake	30 Oct 2009 08:05:59 -0000	1.18
***************
*** 4,14 ****
  # variables:
  #
! #  JAVA_RUNTIME    = the full path to the Java runtime
! #  JAVA_COMPILE    = the full path to the Java compiler
! #  JAVA_ARCHIVE    = the full path to the Java archiver
  #
  
  #=============================================================================
  # Copyright 2002-2009 Kitware, Inc.
  #
  # Distributed under the OSI-approved BSD License (the "License");
--- 4,20 ----
  # variables:
  #
! #  Java_JAVA_EXECUTABLE    = the full path to the Java runtime
! #  Java_JAVA_EXECUTABLE    = the full path to the Java compiler
! #  Java_JAVA_EXECUTABLE    = the full path to the Java archiver
! #  Java_VERSION_STRING     = Version of the package found (java version)
! #  Java_VERSION_MAJOR      = The major version of the package found.
! #  Java_VERSION_MINOR      = The minor version of the package found.
! #  Java_VERSION_PATCH      = The patch version of the package found.
! #                            The patch version may contains underscore '_'
  #
  
  #=============================================================================
  # Copyright 2002-2009 Kitware, Inc.
+ # Copyright 2009 Mathieu Malaterre <mathieu.malaterre at gmail.com>
  #
  # Distributed under the OSI-approved BSD License (the "License");
***************
*** 44,65 ****
    /opt/sun-jdk-1.5.0.04/bin
    )
! FIND_PROGRAM(JAVA_RUNTIME
    NAMES java
    PATHS ${JAVA_BIN_PATH}
  )
  
! FIND_PROGRAM(JAVA_ARCHIVE
    NAMES jar
    PATHS ${JAVA_BIN_PATH}
  )
  
! FIND_PROGRAM(JAVA_COMPILE
    NAMES javac
    PATHS ${JAVA_BIN_PATH}
  )
  
! MARK_AS_ADVANCED(
! JAVA_RUNTIME
! JAVA_ARCHIVE
! JAVA_COMPILE
  )
--- 50,146 ----
    /opt/sun-jdk-1.5.0.04/bin
    )
! FIND_PROGRAM(Java_JAVA_EXECUTABLE
    NAMES java
    PATHS ${JAVA_BIN_PATH}
+   NO_DEFAULT_PATH
  )
  
! IF(Java_JAVA_EXECUTABLE)
!     EXECUTE_PROCESS(COMMAND ${Java_JAVA_EXECUTABLE} -version
!       RESULT_VARIABLE res
!       OUTPUT_VARIABLE var
!       ERROR_VARIABLE var # sun-java output to stderr
!       OUTPUT_STRIP_TRAILING_WHITESPACE
!       ERROR_STRIP_TRAILING_WHITESPACE)
!     IF( res )
!       MESSAGE( FATAL_ERROR "Error executing java -version" )
!     ELSE()
!         # extract major/minor version and patch level from "java -version" output
!         # Tested on linux using 
!         # 1. Sun
!         # 2. OpenJDK 1.6
!         # 3. GCJ 1.5
!         STRING( REGEX REPLACE ".* version \"([0-9]+\\.[0-9]+\\.[0-9_]+).*"
!                 "\\1" Java_VERSION_STRING "${var}" )
!         STRING( REGEX REPLACE ".* version \"([0-9]+)\\.[0-9]+\\.[0-9_]+.*"
!                 "\\1" Java_VERSION_MAJOR "${var}" )
!         STRING( REGEX REPLACE ".* version \"[0-9]+\\.([0-9]+)\\.[0-9_]+.*"
!                 "\\1" Java_VERSION_MINOR "${var}" )
!         STRING( REGEX REPLACE ".* version \"[0-9]+\\.[0-9]+\\.([0-9_]+).*"
!                 "\\1" Java_VERSION_PATCH "${var}" )
!         # display info
!         MESSAGE( STATUS "Java version ${Java_VERSION_STRING} configured successfully!" )
!         MESSAGE( STATUS "Java version ${Java_VERSION_MAJOR}.${Java_VERSION_MINOR} configured successfully!" )
!     ENDIF()
! 
!     # If any version numbers are given to the command it will set the
!     # following variables before loading the module:
!     #
!     #  XXX_FIND_VERSION       = full requested version string
!     #  XXX_FIND_VERSION_MAJOR = major version if requested, else 0
!     #  XXX_FIND_VERSION_MINOR = minor version if requested, else 0
!     #  XXX_FIND_VERSION_PATCH = patch version if requested, else 0
!     #  XXX_FIND_VERSION_TWEAK = tweak version if requested, else 0
!     #  XXX_FIND_VERSION_COUNT = number of version components, 0 to 4
!     #  XXX_FIND_VERSION_EXACT = true if EXACT option was given
!     set(_java_version_acceptable TRUE)
!     if( Java_FIND_VERSION )
!       if( Java_FIND_VERSION_MAJOR GREATER Java_VERSION_MAJOR )
!         set(_java_version_acceptable FALSE)
!       endif( Java_FIND_VERSION_MAJOR  GREATER Java_VERSION_MAJOR )
!       if( Java_FIND_VERSION_MINOR GREATER Java_VERSION_MINOR )
!         set(_java_version_acceptable FALSE)
!       endif( Java_FIND_VERSION_MINOR  GREATER Java_VERSION_MINOR )
!       # Is it exact ?
!       if( Java_FIND_VERSION_EXACT )
!         # since GREATER operation worked ok, simply check LESS operation
!         if( Java_FIND_VERSION_MAJOR LESS Java_VERSION_MAJOR )
!           set(_java_version_acceptable FALSE)
!         endif( Java_FIND_VERSION_MAJOR  LESS Java_VERSION_MAJOR )
!         if( Java_FIND_VERSION_MINOR LESS Java_VERSION_MINOR )
!           set(_java_version_acceptable FALSE)
!         endif( Java_FIND_VERSION_MINOR LESS Java_VERSION_MINOR )
!       endif( Java_FIND_VERSION_EXACT )
!     else( Java_FIND_VERSION )
!       # no version requested we are all set
!     endif( Java_FIND_VERSION )
! 
! ENDIF(Java_JAVA_EXECUTABLE)
! 
! 
! FIND_PROGRAM(Java_JAR_EXECUTABLE
    NAMES jar
    PATHS ${JAVA_BIN_PATH}
+   NO_DEFAULT_PATH
  )
  
! FIND_PROGRAM(Java_JAVAC_EXECUTABLE
    NAMES javac
    PATHS ${JAVA_BIN_PATH}
+   NO_DEFAULT_PATH
  )
  
! include(FindPackageHandleStandardArgs)
! find_package_handle_standard_args(Java DEFAULT_MSG
!   Java_JAVA_EXECUTABLE
!   Java_JAR_EXECUTABLE
!   Java_JAVAC_EXECUTABLE
!   _java_version_acceptable
  )
+ 
+ 
+ # LEGACY
+ SET(JAVA_RUNTIME ${Java_JAVA_EXECUTABLE})
+ SET(JAVA_ARCHIVE ${Java_JAR_EXECUTABLE})
+ SET(JAVA_COMPILE ${Java_JAVAC_EXECUTABLE})
+ 



More information about the Cmake-commits mailing list