如何防止CMake在配置过程中打印有关所选预设的变量和环境的信息?

ycggw6v2  于 2023-10-20  发布在  其他
关注(0)|答案(2)|浏览(133)

当使用CMakePresets.json时,CMake在配置过程中输出与配置相关的信息。范例:

Preset CMake variables:

  CMAKE_TOOLCHAIN_FILE:FILEPATH="K:/vcpkg/scripts/buildsystems/vcpkg.cmake"

有没有办法让CMake忽略输出这些信息?我只是不想让噪音输出,除非我特别要求。

bihw5rsg

bihw5rsg1#

这似乎是不可能做到的,在cmake中没有提到一个标志来使那些缓存的var静音/安静
资料来源:

2lpgd968

2lpgd9682#

就我所知,在撰写本文时(CMake ~3.27是最新版本),通过检查cmake::ProcessPresetVariablescmake::ProcessPresetEnvironment函数的源代码(函数本身及其调用站点,您可以在Source/cmake.cxx中找到),除了构建一个不调用该函数的自定义CMake构建版本之外,用户无法调整是否为命令行调用打印此信息。call-site中的#ifndef CMAKE_BOOTSTRAP是一个红鲱鱼-如果我理解正确的话,它是为了构建CMake本身。
如果您希望添加这样的功能,请在https://discourse.cmake.org/https://gitlab.kitware.com/cmake/cmake/-/issues上将其作为功能请求提出。无论哪种方式,如果你这样做,请在这里评论与链接到您的帖子/票,或编辑链接到这个答案帖子。
旁白:这个问题的提问者称这些印刷信息为“噪音”。我能理解,但我不会这么快就称之为噪音。通过对CMakePresets.json文件的视觉检查,手动确定多个和/或嵌套的预设配置继承将获得哪些变量可能是不平凡的。此外,预设文件可以包括其他预设文件,因此不一定只查看一个文件。它的帮助程度取决于上下文、工作流和用户对CMake的体验。

相关问题