Build JNI Wrapper for C-Library with CMake

557 Views Asked by At

I am writing a Java wrapper for a C-Library that I own. I build with CMake.

Here is my CMakeLists.txt file :

cmake_minimum_required(VERSION 3.4)
project(MyLib-java)
    
find_package(Java REQUIRED)
find_package(JNI REQUIRED)
include(UseJava)

# JNI wrapper
add_library(mylib-java SHARED mylib-java.cpp)
target_link_libraries(mylib-java PRIVATE ${JNI_LIBRARIES})
target_include_directories(mylib-java PUBLIC ${JNI_INCLUDE_DIRS})

# JAR file
add_jar(
  mylib-java
  SOURCES
    MyLib.java
  ENTRY_POINT
    lib.my.Main
)

It works well, the .so file is built, .jar file is created and populated with .class files.

My problem is that I don't know how to put the .so file in the .jar file. Please help !

Thanks in advance

0

There are 0 best solutions below