You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
project(helloJavah Java CXX)
|
|
|
|
|
|
|
|
cmake_minimum_required(VERSION 3.10)
|
|
|
|
set(CMAKE_VERBOSE_MAKEFILE 1)
|
|
|
|
|
|
|
|
include(CTest)
|
|
|
|
|
|
|
|
find_package(Java COMPONENTS Development)
|
|
|
|
include (UseJava)
|
|
|
|
|
|
|
|
# JNI support
|
|
|
|
find_package(JNI)
|
|
|
|
|
|
|
|
add_jar(B1 B.java)
|
|
|
|
add_jar(C1 C.java)
|
|
|
|
create_javah(TARGET B_javah CLASSES B C CLASSPATH B1 C1)
|
|
|
|
|
|
|
|
add_jar(hello3 HelloWorld2.java)
|
|
|
|
|
|
|
|
add_library(B SHARED B.cpp C.cpp)
|
|
|
|
add_dependencies(B B_javah)
|
|
|
|
|
|
|
|
target_include_directories(B PRIVATE ${CMAKE_CURRENT_BINARY_DIR}
|
|
|
|
${JAVA_INCLUDE_PATH}
|
|
|
|
${JAVA_INCLUDE_PATH2})
|
|
|
|
|
|
|
|
add_test (NAME Java.Javah
|
|
|
|
COMMAND "${Java_JAVA_EXECUTABLE}" -Djava.library.path=$<TARGET_FILE_DIR:B> -classpath hello3.jar HelloWorld2)
|