FindJava
Find Java
This module finds if Java is installed and determines where the include files and libraries are. The caller may set variable JAVA_HOME
to specify a Java installation prefix explicitly.
See also the FindJNI
module to find Java Native Interface (JNI).
New in version 3.10: Added support for Java 9+ version parsing.
Specify one or more of the following components as you call this find module. See example below.
Runtime = Java Runtime Environment used to execute Java byte-compiled applications Development = Development tools (java, javac, javah, jar and javadoc), includes Runtime component IdlJ = Interface Description Language (IDL) to Java compiler JarSigner = Signer and verifier tool for Java Archive (JAR) files
This module sets the following result variables:
Java_JAVA_EXECUTABLE = the full path to the Java runtime Java_JAVAC_EXECUTABLE = the full path to the Java compiler Java_JAVAH_EXECUTABLE = the full path to the Java header generator Java_JAVADOC_EXECUTABLE = the full path to the Java documentation generator Java_IDLJ_EXECUTABLE = the full path to the Java idl compiler Java_JAR_EXECUTABLE = the full path to the Java archiver Java_JARSIGNER_EXECUTABLE = the full path to the Java jar signer Java_VERSION_STRING = Version of java found, eg. 1.6.0_12 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. Java_VERSION_TWEAK = The tweak version of the package found (after '_') Java_VERSION = This is set to: $major[.$minor[.$patch[.$tweak]]]
New in version 3.4: Added the Java_IDLJ_EXECUTABLE
and Java_JARSIGNER_EXECUTABLE
variables.
The minimum required version of Java can be specified using the find_package()
syntax, e.g.
find_package(Java 1.8)
NOTE: ${Java_VERSION}
and ${Java_VERSION_STRING}
are not guaranteed to be identical. For example some java version may return: Java_VERSION_STRING = 1.8.0_17
and Java_VERSION = 1.8.0.17
another example is the Java OEM, with: Java_VERSION_STRING = 1.8.0-oem
and Java_VERSION = 1.8.0
For these components the following variables are set:
Java_FOUND - TRUE if all components are found. Java_<component>_FOUND - TRUE if <component> is found.
Example Usages:
find_package(Java) find_package(Java 1.8 REQUIRED) find_package(Java COMPONENTS Runtime) find_package(Java COMPONENTS Development)
© 2000–2021 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.21/module/FindJava.html