CMake SWIG генерирует файлы установки и создания jar - PullRequest
1 голос
/ 11 апреля 2020

У меня проблемы с выполнением двух вещей, и я был бы признателен за любую помощь:

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