diff options
author | Mathieu Malaterre <mathieu.malaterre@gmail.com> | 2010-05-09 12:41:15 (GMT) |
---|---|---|
committer | Mathieu Malaterre <mathieu.malaterre@gmail.com> | 2010-05-11 19:43:32 (GMT) |
commit | a9a2af19d4f8a15dd0c6764c791a3b25b65899da (patch) | |
tree | 9ebc9745e0911a039e139045f22fc971ecc818d2 /Modules/FindJava.cmake | |
parent | 83d3b1e427f1ef7aba08731cb2f1442b399f8803 (diff) | |
download | CMake-a9a2af19d4f8a15dd0c6764c791a3b25b65899da.zip CMake-a9a2af19d4f8a15dd0c6764c791a3b25b65899da.tar.gz CMake-a9a2af19d4f8a15dd0c6764c791a3b25b65899da.tar.bz2 |
BUG: 0009840 Fix case when only Java is available by implementing COMP Runtime
Diffstat (limited to 'Modules/FindJava.cmake')
-rw-r--r-- | Modules/FindJava.cmake | 51 |
1 files changed, 42 insertions, 9 deletions
diff --git a/Modules/FindJava.cmake b/Modules/FindJava.cmake index 9e2a640..4cd4389 100644 --- a/Modules/FindJava.cmake +++ b/Modules/FindJava.cmake @@ -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) -find_package_handle_standard_args(Java DEFAULT_MSG - Java_JAVA_EXECUTABLE - Java_JAR_EXECUTABLE - Java_JAVAC_EXECUTABLE - _java_version_acceptable -) +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 |