无法在CMakeLists.txt中设置CMAKE_WARN_DEPRECATED

jutyujz0  于 2023-05-29  发布在  其他
关注(0)|答案(2)|浏览(235)

我正在构建Googletest作为代码的依赖项。不幸的是,Googletest需要非常旧的CMake版本,这会触发大量的弃用警告。我想摆脱他们。
我可以通过命令行标记成功隐藏警告,如下所示:

cmake -Wno-deprecated ..
cmake -DCMAKE_WARN_DEPRECATED=OFF ..

但是,我更喜欢在CMakeLists.txt中设置。但我不知道该怎么说。以下两个命令没有帮助:

set(CMAKE_WARN_DEPRECATED OFF)
set(CMAKE_WARN_DEPRECATED OFF CACHE BOOL)

有什么想法吗?还有,有没有可能有一种方法可以在有限的范围内设置这个设置,比如eidogg。一个子目录?

v8wbuo2f

v8wbuo2f1#

找到了一个小小的额外的标志做了这个把戏:

set(CMAKE_WARN_DEPRECATED OFF CACHE BOOL "" FORCE)

不确定这是否是推荐的方式。

e0bqpujr

e0bqpujr2#

对于ROS系统,在项目的CMakeLists.txt中执行set(CMAKE_WARN_DEPRECATED OFF CACHE BOOL "" FORCE)不会在构建catkin_tools_prebuild时删除弃用警告。
因此,抑制整个项目的警告的更简单的替代方法是在catkin中设置以下cmake标志。

# Temporarily suppress warning during specific builds
catkin build -DCMAKE_WARN_DEPRECATED=OFF

# Permanently suppress warning in catkin_ws
catkin config -DCMAKE_WARN_DEPRECATED=OFF

相关问题