在 CMake 文档中,我们可以阅读:
为当前目录及以下目录中的源代码添加标志到编译器命令行。
COMPILE_DEFINITIONS:用于编译目录源的预处理器定义。
COMPILE_DEFINITIONS:用于编译目标源的预处理器定义。
COMPILE_DEFINITIONS:用于编译源文件的预处理器定义。
COMPILE_DEFINITIONS
和add_definitions
功能似乎重叠。COMPILE_DEFINITIONS
属性似乎更灵活。
所以看起来 COMPILE_DEFINITIONS 属性完成了 add_definitions 所做的一切,甚至更多。
那么,在哪些情况下我们必须调用 add_definitions 因为 COMPILE_DEFINITIONS 属性不能使用?