[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