1

如何为 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?
4

1 回答 1

0

您可以在标志中简单地使用 Makefile 变量取消引用语法:

add_definitions("$(MY_FLAGS)")

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

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

于 2013-02-14T08:16:30.297 回答