cmake:如何抑制“进入目录”消息?

MrY*_*Kee 6 linux makefile cmake

我有一个包含不同子模块的项目。每个子模块都有一个CMakeLists.txt,我CMakeLists.txt在项目的根目录下有一个通用。

当我运行cmake --build [...]or 时make [...],它会按预期递归构建子模块,但它会像这样打印详细信息:

make[2]: Entering directory '/some/path/'
make[2]: Entering directory '/some/path/'
make[2]: Leaving directory '/some/path/'
make[2]: Leaving directory '/some/path/'
...
Run Code Online (Sandbox Code Playgroud)

我试过的

  • 通过添加set(CMAKE_VERBOSE_MAKEFILE OFF)通用CMakeLists.txt.
  • make [...] --no-print-directory
  • cmake [...] -- [...] --no-print-directory

--no-print-directory标志按预期删除这些消息,但我过去不必在以前的项目中指定此标志。我宁愿避免使用此标志来获得与以前相同的结果。

版本

GNU Make 4.3
cmake version 3.16.4

小智 11

您可以使用

MAKEFLAGS += --no-print-directory
Run Code Online (Sandbox Code Playgroud)

GNU make 手册中描述

  • 如果您使用 vscode cmake 扩展,请将` "cmake.buildToolArgs": ["--no-print-directory"]` 添加到 settings.json 将解决该问题。 (2认同)