如何为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?
答案 0 :(得分:0)
您可以在标志中使用Makefile变量解除引用语法:
add_definitions("$(MY_FLAGS)")
我使用了add_definitions
,因为这样添加的标志不会传递给链接器。您可以尝试将此类引用放入CMAKE_<Lang>_FLAGS
和相关变量/属性中。
然而,不知道非Makefile生成器将如何处理这样的事情。也许封闭的if(CMAKE_GENERATOR ...)
是个好主意。