我使用简单的jar
命令在custom commmand
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
之类的命令,这只是为了一个简单的&完整的例子。