c++ - CMake SWIG 生成的文件安装和创建 jar
问题描述
我在做两件事时遇到了麻烦,希望有任何帮助:
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
解决方案
推荐阅读
- maven-2 - 错误:无法找到或加载主类
- reactjs - TypeError:无法读取 null 的属性“路径名”
- node.js - 当出现错误时,我们是否应该强调返回哪个特定的 HTTP 响应代码?
- sql - oracle 中的 Add_month 问题,我需要生成计费周期
- android - 下载的图像未显示在画廊 android
- javascript - 我无法使用 javascript 练习数据抓取
- django - 计算休假天数并在 django admin 模型中显示
- database - 除了 informatica 之外,是否有将数据从 Snowflake 流式传输到 Oracle 的方法
- javascript - 用 * 替换字符串中的字符,但只有字符而不是空格 JavaScript 正则表达式
- asp.net-mvc - ASP.Net MVC - 运行后台进程/异步而不在前台等待