我正在处理Google test(gtest)链接的项目作为依赖项。谷歌测试标题通过使用谷歌测试项目中包含的CMakeLists,通过CMake的界面依赖项包含在项目中。
target_link_libraries (our_project gtest gmock)
我们用于项目的一些警告标志是在Google测试中打印大量警告 - 例如,GCC的-Wsuggest-override
。理想情况下,这些警告不会被打印,因为它们来自库,我认为包含-isystem
的库标题是正确的方法。但是,我不确定如何配置CMake以将-isystem
用于指定的库。
有没有办法可以在不修改gtest的情况下将库依赖项指定为系统库,并忽略它的警告?
答案 0 :(得分:0)
target_include_directories()
提供SYSTEM
选项,可以满足您的需求。或者,如果目标是导入的库目标,则填充INTERFACE_SYSTEM_INCLUDE_DIRECTORIES
属性而不是INTERFACE_INCLUDE_DIRECTORIES
属性。