1
我正在研究一個項目,將Google測試(gtest)作爲依賴項的鏈接。使用Google測試項目中包含的CMakeLists,通過CMake的接口依賴項,Google測試頭包含在項目中。包含CMake項目依賴包含目錄與-isystem
target_link_libraries (our_project gtest gmock)
一些我們已經使用了我們的項目的警告標誌打印在谷歌測試 - 例如萬噸警告,GCC的-Wsuggest-override
。理想情況下,這些警告不會被打印出來,因爲它們起源於一個庫中,並且我認爲包含帶有-isystem
的庫頭是正確的方法。但是,我不確定如何配置CMake使用指定庫的-isystem
。
有沒有一種方法可以指定庫依賴作爲系統庫而不修改gtest,並忽略它的警告?
我知道這個標誌,但需要在上游庫中進行更改。如何在不修改上游庫的情況下進行這種更改? – leecbaker
我試圖修改目標的INTERFACE_SYSTEM_INCLUDE_DIRECTORIES屬性,但不會刪除警告。 (gtest_include_dirs gtest INCLUDE_DIRECTORIES) set_target_properties(gtest PROPERTIES INTERFACE_SYSTEM_INCLUDE_DIRECTORIES gtest_include_dirs) – leecbaker