CMake是否有像Make的%替代支持?

时间:2010-07-21 07:46:46

标签: build build-process makefile cmake

我需要在构建过程中进行一系列文件处理。工作流程可以轻松指定并围绕文件名构建,只有扩展名更改,例如 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)

2 个答案:

答案 0 :(得分:2)

不,CMake对模式没有任何支持。人们通常使用宏作为解决方法。

人们不会使用CMake,因为它具有优雅的语法和表现力。

答案 1 :(得分:0)

您可以使用宏。

一个简单的例子:

MACRO( TEST )
MESSAGE ( "HELLO ${ARGV}" )
ENDMACRO( TEST )

TEST("WORLD")