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 83d3b1e427
commit a9a2af19d4
1 changed files with 42 additions and 9 deletions

View File

@ -24,9 +24,18 @@
# and
# Java_VERSION = 1.6.0
#
# NOTE: At the moment this script will look for javac and jar component,
# which means it will fail if javac or jar is not found.:w
# See Bug #9840
# For these components the following variables are set:
#
# 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.
@ -152,12 +161,36 @@ FIND_PROGRAM(Java_JAVAC_EXECUTABLE
)
include(FindPackageHandleStandardArgs)
if(Java_FIND_COMPONENTS)
foreach(component ${Java_FIND_COMPONENTS})
# User just want to execute some Java byte-compiled
if(component STREQUAL "Runtime")
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(
Java_JAVA_EXECUTABLE