如何忽略子项目中的CMake编译器定义

时间:2018-05-02 21:07:08

标签: c++ cmake clang

我有一个主项目,有几个第三方库。我刚刚添加了一个新的第三方项目。我面临的问题是当主项目编译器定义传递给它时新的项目中断。

如何避免将这些定义传递给第三方项目? 此外,如果第三方项目是独立编译的,则只需要两个包含目录。但是当使用主项目编译时,会传递许多额外的目录。

我试过寻找一个set_definition(),但我没有看到任何有用的东西。 任何示例或写作的链接都会很好。也许我不是在寻找合适的解决方案。 感谢

1 个答案:

答案 0 :(得分:1)

使用全局'add_definition'是旧方法。目前可能更好定义编译器标志,定义等每target,文件夹,源文件等(在你的情况下COMPILE_DEFINITIONS?)

只需谷歌搜索'现代CMake',您就会发现会议中的幻灯片和视频如何使用现代CMake。