У меня проблемы с выполнением двух вещей, и я был бы признателен за любую помощь:
1. Получение списка файлов, сгенерированных SWIG (файлы java в данном случае).
Я могу получить доступ / изменить каталог вывода. Но мне нужен список файлов java. Единственный способ, которым я вижу, что люди делают это, это использование какой-то пользовательской команды после сборки. Я надеюсь, что есть более современный подход cmake.
Я пытался использовать свойство SWIG_SUPPORT_FILES
, но по какой-то причине отсутствует один из файлов java.
2. Поместить общую библиотеку (цель javaExample) в jar.
CMakeLists.txt:
find_package(SWIG REQUIRED)
include(${SWIG_USE_FILE})
find_package(Java REQUIRED)
find_package(JNI REQUIRED)
include(UseJava)
set_property(SOURCE java.i PROPERTY CPLUSPLUS ON)
swig_add_library(javaExample
TYPE SHARED
LANGUAGE java
SOURCES java.i)
set_property(TARGET javaExample PROPERTY SWIG_USE_TARGET_INCLUDE_DIRECTORIES TRUE)
target_include_directories(javaExample PRIVATE ${JNI_INCLUDE_DIRS})
target_link_libraries(javaExample PRIVATE api)
add_jar(SDK
#Swig generated java files
)
install_jar(SDK .)
install(TARGETS javaExample) # Would like to put this into the jar