我目前正在学习 CMake,不想养成坏习惯,因为在 CMake 中总是有两种方法可以做某事(从我所看到的旧方法和现代方法)
阅读了有关 CMake 中预处理器的一些文档并检查了这篇文章后: 通过 cmake 定义预处理器宏
我得出的结论是,我可以将预处理器定义为:
add_compile_definitions(FOO)target_compile_definitions(myTarget PRIVATE FOO) add_definitions(-DFOO)经过一些测试后,他们实际上一切都按预期工作并定义FOO
但现在我的问题是我应该使用的最“现代”的方式是什么以及每个函数之间的真正区别是什么,我注意到的唯一区别是如果我使用它然后在父目标中target_compile_definitions(myTarget PUBLIC FOO)定义。FOO