我需要在构建过程中进行一系列文件处理。工作流程可以轻松指定并围绕文件名构建,只有扩展名更改,例如 file.a - > file.b - > file.c 。因此,这显然是Make的声明性语法的一个例子。但是正如我所看到的,对于CMake,对于每个处理步骤,这对于每个文件看起来都是一个显式的 add_custom_command 。
所以,问题是如果CMake支持像Make这样的替换,那么只需要处理每个处理步骤的一般规则。
我想这就像:
add_custom_command(OUTPUT %.b
COMMAND convert %.a > %.b
DEPENDS %.a)
add_custom_command(OUTPUT %.c
COMMAND convert %.b > %.c
DEPENDS %.b)
答案 0 :(得分:2)
不,CMake对模式没有任何支持。人们通常使用宏作为解决方法。
人们不会使用CMake,因为它具有优雅的语法和表现力。
答案 1 :(得分:0)
您可以使用宏。
一个简单的例子:
MACRO( TEST )
MESSAGE ( "HELLO ${ARGV}" )
ENDMACRO( TEST )
TEST("WORLD")