CMake对编译Java代码和执行Java类文件的支持有限。
标准模块 FindJava 可用于查找本地计算机上安装的 JDK。标准模块UseJava为Java提供了一些功能。其中包括一个将Java源文件编译为jar文件的函数。add_jar
下面是一个小示例,演示如何使用 。给定 Java 示例源文件:add_jar
HelloWorld.java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
以下 CMake 列表文件将编译为 jar 文件,并添加一个使用 JVM 运行 jar 的 CMake 测试:HelloWorld.java
HelloWorld.jar
cmake_minimum_required (VERSION 2.8)
find_package(Java REQUIRED)
include(UseJava)
enable_testing()
project (HelloWorld NONE)
set(CMAKE_JAVA_COMPILE_FLAGS "-source" "1.6" "-target" "1.6")
add_jar(HelloWorld HelloWorld.java)
get_target_property(_jarFile HelloWorld JAR_FILE)
get_target_property(_classDir HelloWorld CLASSDIR)
message(STATUS "Jar file ${_jarFile}")
message(STATUS "Class compiled to ${_classDir}")
add_test(NAME TestHelloWorld COMMAND ${Java_JAVA_EXECUTABLE} -cp ${_jarFile} HelloWorld)
CMake 变量可用于指定编译标志。作为副作用,该命令将设置目标属性,并分别用于获取生成的jar文件和编译的类文件目录的路径。CMAKE_JAVA_COMPILE_FLAGS
add_jar
JAR_FILE
CLASSDIR