BUG: 0009840 Fix case when only Java is available by implementing COMP Runtime

This commit is contained in:
Mathieu Malaterre 2010-05-09 14:41:15 +02:00
parent 9c0937f8c2
commit 0d88e19fef
1 changed files with 42 additions and 9 deletions

View File

@ -24,9 +24,18 @@
# and # and
# Java_VERSION = 1.6.0 # Java_VERSION = 1.6.0
# #
# NOTE: At the moment this script will look for javac and jar component, # For these components the following variables are set:
# which means it will fail if javac or jar is not found.:w #
# See Bug #9840 # Java_FOUND - TRUE if all components are found.
# Java_INCLUDE_DIRS - Full paths to all include dirs.
# Java_LIBRARIES - Full paths to all libraries.
# Java_<component>_FOUND - TRUE if <component> is found.
#
# Example Usages:
# FIND_PACKAGE(Java)
# FIND_PACKAGE(Java COMPONENTS Runtime)
# FIND_PACKAGE(Java COMPONENTS Development)
#
#============================================================================= #=============================================================================
# Copyright 2002-2009 Kitware, Inc. # Copyright 2002-2009 Kitware, Inc.
@ -152,12 +161,36 @@ FIND_PROGRAM(Java_JAVAC_EXECUTABLE
) )
include(FindPackageHandleStandardArgs) include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Java DEFAULT_MSG if(Java_FIND_COMPONENTS)
Java_JAVA_EXECUTABLE foreach(component ${Java_FIND_COMPONENTS})
Java_JAR_EXECUTABLE # User just want to execute some Java byte-compiled
Java_JAVAC_EXECUTABLE if(component STREQUAL "Runtime")
_java_version_acceptable find_package_handle_standard_args(Java DEFAULT_MSG
) Java_JAVA_EXECUTABLE
_java_version_acceptable
)
elseif(component STREQUAL "Development")
find_package_handle_standard_args(Java DEFAULT_MSG
Java_JAVA_EXECUTABLE
Java_JAR_EXECUTABLE
Java_JAVAC_EXECUTABLE
_java_version_acceptable
)
else()
message(FATAL_ERROR "Comp: ${component} is not handled")
endif()
set(Java_${component}_FOUND TRUE)
endforeach(component)
else()
# Check for everything
find_package_handle_standard_args(Java DEFAULT_MSG
Java_JAVA_EXECUTABLE
Java_JAR_EXECUTABLE
Java_JAVAC_EXECUTABLE
_java_version_acceptable
)
endif()
MARK_AS_ADVANCED( MARK_AS_ADVANCED(
Java_JAVA_EXECUTABLE Java_JAVA_EXECUTABLE