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



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

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

我试过寻找set_definition((,但我没有看到任何有用的东西。 任何指向示例或文章的链接都会很好。也可能是我没有在寻找正确的解决方案。 谢谢

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

只需在谷歌上搜索"现代CMake",您就会找到如何使用现代CMake的会议幻灯片和视频。

最新更新