FindJNI
Поиск заголовков и библиотек Java Native Interface (JNI).
JNI позволяет коду Java, выполняющемуся в виртуальной машине Java (JVM) или виртуальной машине Dalvik (DVM) на Android, вызывать и быть вызванным нативными приложениями и библиотеками, написанными на других языках, таких как C и C++.
Этот модуль определяет установку Java и местоположение файлов включения и библиотек. Он также определяет имя библиотеки. Вызывающая сторона может установить переменную JAVA_HOME для явного указания префикса установки Java.
Добавлен в версии 3.24: Добавлены импортированные цели, компоненты AWT, JVM, и поддержка Android NDK. Если компоненты не указаны, модуль по умолчанию использует пустой список компонентов при нацеливании на Android и все доступные компоненты в остальных случаях.
При использовании Android NDK, сообщается соответствующая версия пакета, и можно запросить определённую версию выпуска. На уровнях API Android 31 и выше можно запросить дополнительный компонент NativeHelper. NativeHelper также доступен как неявная зависимость компонента JVM (только если это не вызывает конфликта), который предоставляет унифицированный доступ к функциям JVM.
Импортированные цели
Добавлен в версии 3.24.
-
JNI::JNI -
Основная цель JNI, определена только если
jni.hбыл найден. -
JNI::AWT -
Библиотека Java AWT Native Interface (JAWT), определена только если компонент
AWTбыл найден. -
JNI::JVM -
Библиотека виртуальной машины Java (JVM), определена только если компонент
JVMбыл найден. -
JNI::NativeHelper -
При нацеливании на уровень API Android 31 и выше, импортированная цель предоставит доступ к
libnativehelper.so, который экспонирует функции JVM, такие какJNI_CreateJavaVM.
Переменные результатов
Этот модуль устанавливает следующие переменные результатов:
-
JNI_INCLUDE_DIRS -
Директории включения для использования.
-
JNI_LIBRARIES -
Библиотеки для использования (JAWT и JVM).
-
JNI_FOUND -
TRUE, если заголовки и библиотеки JNI были найдены. -
JNI_<component>_FOUND -
Добавлен в версии 3.24.
TRUE, если<component>был найден. -
JNI_VERSION -
Полная версия пакета Android NDK (включая суффиксы, такие как
-beta3и-rc1) или неопределённая в противном случае. -
JNI_VERSION_MAJOR -
Добавлен в версии 3.24.
Основная версия Android NDK или неопределённая в противном случае.
-
JNI_VERSION_MINOR -
Добавлен в версии 3.24.
Дополнительная версия Android NDK или неопределённая в противном случае.
-
JNI_VERSION_PATCH -
Добавлен в версии 3.24.
Версия исправления Android NDK или неопределённая в противном случае.
Переменные кэша
Также доступны следующие переменные кэша для установки или использования:
-
JAVA_AWT_LIBRARY -
Путь к библиотеке Java AWT Native Interface (JAWT).
-
JAVA_JVM_LIBRARY -
Путь к библиотеке виртуальной машины Java (JVM).
-
JAVA_INCLUDE_PATH -
Путь включения к
jni.h. -
JAVA_INCLUDE_PATH2 -
Путь включения к машинозависимым заголовкам
jni_md.hиjniport.h. Переменная определена только еслиjni.hзависит от одного из этих заголовков. В отличие от этого, Android NDKjni.hобычно может использоваться автономно. -
JAVA_AWT_INCLUDE_PATH -
Путь включения к
jawt.h.
© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.31/module/FindJNI.html