CMake:用于控制冗长的API

时间:2017-09-29 09:02:59

标签: java jar cmake

我使用简单的jar命令在custom commmand

中创建一个jar文件
add_custom_command(
  OUTPUT ${GDCM_LIBRARY_DIR}/gdcm.jar
  COMMAND ${Java_JAR_EXECUTABLE} ARGS cf ${GDCM_LIBRARY_DIR}/gdcm.jar gdcm/*.class
  COMMENT "javac *.java; jar cf -> gdcm.jar"
)

因此,当我输入make GDCMJavaJar时,我得到了一个漂亮而干净的输出:

javac *.java; jar cf -> gdcm.jar
building gdcm.jar

但是,当我传递VERBOSE=1 make标志时,我想控制jar命令的详细程度。换句话说,我希望make GDCMJavaJar VERBOSE=1执行:

add_custom_command(
  OUTPUT ${GDCM_LIBRARY_DIR}/gdcm.jar
  COMMAND ${Java_JAR_EXECUTABLE} ARGS cvf ${GDCM_LIBRARY_DIR}/gdcm.jar gdcm/*.class
  COMMENT "javac *.java; jar cf -> gdcm.jar"
)

了解我如何将v添加到jar命令。

如何执行两个不同的自定义命令,具体取决于运行时VERBOSE值(与缓存条目CMAKE_VERBOSE_MAKEFILE不同)?

当然,我使用显式调用jar命令选择了一个随机命令,而不是使用类似add_jar之类的命令,这只是为了一个简单的&完整的例子。

0 个答案:

没有答案