在CMake的文档中,我们可以读:CMake的:当使用add_definitions代替set_target_properties(目标属性COMPILE_DEFINITIONS定义)
再添标志来编译器命令行用于在源当前目录和下面。
COMPILE_DEFINITIONS property on directories
COMPILE_DEFINITIONS:编译目录的源预处理器定义。
COMPILE_DEFINITIONS property on targets
COMPILE_DEFINITIONS:编译目标的源预处理器定义。
COMPILE_DEFINITIONS property on source files
COMPILE_DEFINITIONS:编译源文件预处理器定义。
COMPILE_DEFINITIONS
和add_definitions
功能似乎重叠。 COMPILE_DEFINITIONS
属性看起来更加灵活。
如此看来,COMPILE_DEFINITIONS财产做一切add_definitions做,甚至更多。
那么,在这种情况下必须我们调用add_definitions因为COMPILE_DEFINITIONS属性不能使用?
你能解释一下如何知道这个吗?这是否在文档中?为了理解CMake的奥秘,你需要阅读什么? – Praxeolitic 2014-06-15 20:39:09