Есть ли у CMake что-то вроде поддержки% substitution от Make? - PullRequest
2 голосов
/ 21 июля 2010

Мне нужна цепочка обработки файлов в моем процессе сборки. Рабочий процесс может быть легко задан и построен вокруг имени файла, только изменения расширений, например 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 ]

2 голосов
/ 21 июля 2010

Нет, CMake не поддерживает шаблоны. Люди обычно используют макросы в качестве обходного пути.

Люди не используют CMake из-за элегантного синтаксиса и его выразительности.

0 голосов
/ 21 июля 2010

Вы можете использовать макросы.

Простой пример:

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

TEST("WORLD")
...