4

我想通过 add_custom_command(...) 在 CMakeLists.txt 中使用 Linux if 条件,因为我需要运行这些 if 条件并在 makefile 中进行一些判断。像这样:

cmake_minimum_required(VERSION 2.8)
add_custom_target(temp_target ALL)
add_custom_command(TARGET temp_target
                   PRE_BUILD
                   COMMAND if ["a" != "b"]; then echo 1; fi;
                   VERBATIM )

如果我想使用我该怎么办

if ["a" != "b"]; then echo 1; fi;

什么时候制作makefile?非常感谢您的帮助!

4

2 回答 2

3

/bin/sh -c您可以使用as COMMAND 参数指定单行 shell 代码:

COMMAND /bin/sh -c "if [ 'a' != 'b' ]; then echo 1; fi;"

请注意,这[是 bash 的扩展,对于像“dash”这样的简单 shell,它可能是未知的。

于 2016-04-19T07:58:47.367 回答
0

您可能需要在分号前面加上反斜杠

COMMAND if [ 'a' != 'b' ] \; then echo 1\; fi\;
于 2019-06-03T14:32:01.500 回答