J'utilise cmake 2.8.7 sur Ubuntu 12.04 amd64. Les composants OpenJDK JRE installés sur mon système sont les suivants :
$ sudo dpkg --list | grep jdk
openjdk-6-jre 6b27-1.12.5-0ubuntu0.12.04.1 OpenJDK Java runtime, using Hotspot JIT
openjdk-6-jre-headless 6b27-1.12.5-0ubuntu0.12.04.1 OpenJDK Java runtime, using Hotspot JIT (headless)
openjdk-6-jre-lib 6b27-1.12.5-0ubuntu0.12.04.1 OpenJDK Java runtime (architecture independent libraries)
Cependant, je n'utilise pas les composants JRE d'OpenJDK. J'ai installé manuellement Oracle Java 7 JDK dans "/usr/lib/jvm/jdk1.7.0_25" et j'ai utilisé "update-alternatives" pour faire pointer "java" vers mon JDK Oracle Java 7 installé. Je n'ai pas défini de variables d'environnement "JAVA_HOME", "JAVA_BIN", "CLASSPATH" et le JDK Oracle Java 7 installé manuellement semble fonctionner correctement dans Eclipse 4.3.
Le problème est que lorsque j'utilise "find_package(JNI)" dans cmake et que j'utilise la fonction "message()" pour afficher les variables JNI, j'obtiens le résultat suivant :
Could NOT find JNI (missing: JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH)
JNI_FOUND = FALSE
JNI_LIBRARIES = /usr/lib/jvm/java-6-openjdk/jre/lib/amd64/libjawt.so;/usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server/libjvm.so
JAVA_INCLUDE_PATH = JAVA_INCLUDE_PATH-NOTFOUND
JAVA_INCLUDE_PATH2 = JAVA_INCLUDE_PATH2-NOTFOUND
JAVA_AWT_INCLUDE_PATH = JAVA_AWT_INCLUDE_PATH-NOTFOUND
JAVA_JVM_LIBRARY = /usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server/libjvm.so
JAVA_AWT_LIBRARY = /usr/lib/jvm/java-6-openjdk/jre/lib/amd64/libjawt.so
JNI_INCLUDE_DIRS = JAVA_INCLUDE_PATH-NOTFOUND;JAVA_INCLUDE_PATH2-NOTFOUND;JAVA_AWT_INCLUDE_PATH-NOTFOUND
Le "find_package(JNI)" semble pouvoir trouver certains des composants Java liés à l'OpenJDK JRE et ne peut pas trouver mes composants actuels Oracle Java 7 JDK pointés par "update-alternatives".
Je veux savoir s'il y a un bogue dans le fichier "FindJNI.cmake" et ce que j'ai manqué dans la configuration du JDK Oracle Java 7 pour que cmake "find_package(JNI)" puisse fonctionner correctement.
Merci pour toute suggestion.