29 lines
731 B
CMake
29 lines
731 B
CMake
project(helloJavah Java CXX)
|
|
|
|
cmake_minimum_required (VERSION 3.5)
|
|
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)
|