使用 GLOB_RECURSE 和 add_jar
Using GLOB_RECURSE with add_jar
如何正确使用 GLOB_RECURSE
和 add_jar
来指定通配符? (Class 名字是 DestroyTesting
)
我正在尝试使用 CMake 生成一个 jar。
我的CmakeLists.txt
project(helloJavaNativeHeaders Java CXX)
cmake_minimum_required (VERSION 3.15)
# set(CMAKE_VERBOSE_MAKEFILE 1)
include (CTest)
# set(TARGET_CREATE_JAR CreateJarPackage)
find_package(Java COMPONENTS Development)
include (UseJava)
file(GLOB_RECURSE javasources
${CMAKE_CURRENT_SOURCE_DIR}/testingthis/mytest/*.java
)
add_jar(DestroyTesting javasources)
但这给了我以下错误:
...
[build] [1/1 100% :: 0.121] cmd.exe /C "cd /D D:\git\cmake\Tests\JavaNativeHeaders\out\build\Droid-x86-Debug\CMakeFiles\DestroyTesting.dir && "C:\Program Files\Android\jdk\microsoft_dist_openjdk_1.8.0.25\bin\jar.exe" -cf D:/git/cmake/Tests/JavaNativeHeaders/out/build/Droid-x86-Debug/DestroyTesting.jar @java_class_filelist && "C:\Program Files\CMake\bin\cmake.exe" -
...
[build] 'c' flag requires manifest or input files to be specified!
我的java_class_filelist确实是空的
有效的是直接使用:
add_jar(DestroyTesting ${CMAKE_CURRENT_SOURCE_DIR}/testingthis/mytest/DestroyTesting.java)
file(GLOB_RECURSE javasources
${CMAKE_CURRENT_SOURCE_DIR}/testingthis/mytest/*.java
)
创建一个包含 Java 文件列表的变量 javasources
。要访问该变量的 contents,您必须使用 ${}
variable reference 语法:
add_jar(DestroyTesting ${javasources})
如何正确使用 GLOB_RECURSE
和 add_jar
来指定通配符? (Class 名字是 DestroyTesting
)
我正在尝试使用 CMake 生成一个 jar。
我的CmakeLists.txt
project(helloJavaNativeHeaders Java CXX)
cmake_minimum_required (VERSION 3.15)
# set(CMAKE_VERBOSE_MAKEFILE 1)
include (CTest)
# set(TARGET_CREATE_JAR CreateJarPackage)
find_package(Java COMPONENTS Development)
include (UseJava)
file(GLOB_RECURSE javasources
${CMAKE_CURRENT_SOURCE_DIR}/testingthis/mytest/*.java
)
add_jar(DestroyTesting javasources)
但这给了我以下错误:
...
[build] [1/1 100% :: 0.121] cmd.exe /C "cd /D D:\git\cmake\Tests\JavaNativeHeaders\out\build\Droid-x86-Debug\CMakeFiles\DestroyTesting.dir && "C:\Program Files\Android\jdk\microsoft_dist_openjdk_1.8.0.25\bin\jar.exe" -cf D:/git/cmake/Tests/JavaNativeHeaders/out/build/Droid-x86-Debug/DestroyTesting.jar @java_class_filelist && "C:\Program Files\CMake\bin\cmake.exe" -
...
[build] 'c' flag requires manifest or input files to be specified!
我的java_class_filelist确实是空的
有效的是直接使用:
add_jar(DestroyTesting ${CMAKE_CURRENT_SOURCE_DIR}/testingthis/mytest/DestroyTesting.java)
file(GLOB_RECURSE javasources
${CMAKE_CURRENT_SOURCE_DIR}/testingthis/mytest/*.java
)
创建一个包含 Java 文件列表的变量 javasources
。要访问该变量的 contents,您必须使用 ${}
variable reference 语法:
add_jar(DestroyTesting ${javasources})