在CMake脚本中使用生成器命令中的额外标志

时间:2013-02-13 19:45:54

标签: cmake

如何为CMake编写CMakeLists.txt脚本,以便生成器文件中的目标使用生成器命令中提供的额外标志?例如,

命令:

  

cmake -G“Unix Makefiles”

     

制作MY_FLAGS =“ - Dfoo -Bar”

的CMakeLists.txt:

add_executable ( MyApp main.cpp )
# How to reference MY_FLAGS in compile, link commands for MyApp target?

1 个答案:

答案 0 :(得分:0)

您可以在标志中使用Makefile变量解除引用语法:

add_definitions("$(MY_FLAGS)")

我使用了add_definitions,因为这样添加的标志不会传递给链接器。您可以尝试将此类引用放入CMAKE_<Lang>_FLAGS和相关变量/属性中。

然而,不知道非Makefile生成器将如何处理这样的事情。也许封闭的if(CMAKE_GENERATOR ...)是个好主意。