CMake:如何使用add_custom_command(...)中的条件

时间:2016-04-19 07:27:22

标签: linux bash makefile cmake

我想使用Linux,如果条件在CMakeLists.txt中由add_custom_command(...)我需要运行这些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时? 非常感谢你的帮助!

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:0)

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

COMMAND if [ 'a' != 'b' ] \; then echo 1\; fi\;