我正在尝试按照下面复制的 CMake 说明将以下项目https://github.com/whoshuu/cpr#cmake构建到我的项目中:
include(FetchContent)
FetchContent_Declare(cpr GIT_REPOSITORY https://github.com/whoshuu/cpr.git GIT_TAG c8d33915dbd88ad6c92b258869b03aba06587ff9) # the commit hash for 1.5.0
FetchContent_MakeAvailable(cpr)
Run Code Online (Sandbox Code Playgroud)
我的项目已经有一些与主目标链接的其他库,因此我包含了这个新库,如下所示:
target_link_libraries(my_target PRIVATE cpr::cpr PUBLIC other_libraries)
Run Code Online (Sandbox Code Playgroud)
问题在于构建cpr库的警告阻止了项目的构建。我想抑制这些警告。我已尝试SYSTEM按照此处的建议添加关键字:如何抑制库标头中的 GCC 警告?所以代码如下所示:
target_link_libraries(my_target PRIVATE SYSTEM cpr::cpr PUBLIC other_libraries)
Run Code Online (Sandbox Code Playgroud)
但这没有帮助。是否有其他方法可以抑制 CMake 中外部库的警告?如果有帮助的话,我正在使用C++-17 g++-11Ninja。