Spec-Zone.ru › CMake 3.31

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 NDK jni.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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API