Skip to content

Instantly share code, notes, and snippets.

@dakcarto
Last active January 2, 2016 16:19
Show Gist options
  • Save dakcarto/8329063 to your computer and use it in GitHub Desktop.
Save dakcarto/8329063 to your computer and use it in GitHub Desktop.
CMake test project for finding JAVA and JNI on Mac 10.6-9
# Test with `echo '' > CMakeCache.txt && cmake .`
cmake_minimum_required(VERSION 2.8)
project("Find-JNI-JAVA-Test")
# custom path to CMake git repo edits on modules
SET(CMAKE_MODULE_PATH "$ENV{HOME}/github.com/CMake/Modules")
message(STATUS "JAVA_HOME= $ENV{JAVA_HOME}")
message(STATUS "CMAKE_FIND_FRAMEWORK= ${CMAKE_FIND_FRAMEWORK}")
message(STATUS "")
find_package(JNI)
# JNI_INCLUDE_DIRS = the include dirs to use
# JNI_LIBRARIES = the libraries to use
# JNI_FOUND = TRUE if JNI headers and libraries were found.
# JAVA_AWT_LIBRARY = the path to the jawt library
# JAVA_JVM_LIBRARY = the path to the jvm library
# JAVA_INCLUDE_PATH = the include path to jni.h
# JAVA_INCLUDE_PATH2 = the include path to jni_md.h
# JAVA_AWT_INCLUDE_PATH = the include path to jawt.h
message(STATUS "_JAVA_HOME= ${_JAVA_HOME}")
message(STATUS "")
message(STATUS "JNI_INCLUDE_DIRS= ${JNI_INCLUDE_DIRS}")
message(STATUS "JNI_LIBRARIES= ${JNI_LIBRARIES}")
message(STATUS "JAVA_AWT_LIBRARY= ${JAVA_AWT_LIBRARY}")
message(STATUS "JAVA_JVM_LIBRARY= ${JAVA_JVM_LIBRARY}")
message(STATUS "JAVA_INCLUDE_PATH= ${JAVA_INCLUDE_PATH}")
message(STATUS "JAVA_INCLUDE_PATH2= ${JAVA_INCLUDE_PATH2}")
message(STATUS "JAVA_AWT_INCLUDE_PATH= ${JAVA_AWT_INCLUDE_PATH}")
# message(STATUS "")
# message(STATUS "CMAKE_FIND_FRAMEWORK(Reverted)= ${CMAKE_FIND_FRAMEWORK}")
#message(STATUS "JAVA_AWT_INCLUDE_DIRECTORIES= ${JAVA_AWT_INCLUDE_DIRECTORIES}")
#message(STATUS "JAVA_JVM_LIBRARY_DIRECTORIES= ${JAVA_JVM_LIBRARY_DIRECTORIES}")
message(STATUS "")
find_package(JAVA)
# 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 documention generator
# Java_JAR_EXECUTABLE = the full path to the Java archiver
# Java_VERSION_STRING = Version of the package found (java version), 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)
message(STATUS "_JAVA_HOME= ${_JAVA_HOME}")
message(STATUS "")
message(STATUS "Java_JAVA_EXECUTABLE= ${Java_JAVA_EXECUTABLE}")
message(STATUS "Java_JAVAC_EXECUTABLE= ${Java_JAVAC_EXECUTABLE}")
message(STATUS "Java_JAVAH_EXECUTABLE= ${Java_JAVAH_EXECUTABLE}")
message(STATUS "Java_JAVADOC_EXECUTABLE= ${Java_JAVADOC_EXECUTABLE}")
message(STATUS "Java_JAR_EXECUTABLE= ${Java_JAR_EXECUTABLE}")
message(STATUS "Java_VERSION_STRING= ${Java_VERSION_STRING}")
message(STATUS "Java_VERSION_MAJOR= ${Java_VERSION_MAJOR}")
message(STATUS "Java_VERSION_MINOR= ${Java_VERSION_MINOR}")
message(STATUS "Java_VERSION_PATCH= ${Java_VERSION_PATCH}")
message(STATUS "Java_VERSION_TWEAK= ${Java_VERSION_TWEAK}")
message(STATUS "Java_VERSION= ${Java_VERSION}")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment