You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在CMakeLists.txt中设置MAKEFLAGS环境变量屏蔽make目录进入提示

解决CMake配合make时屏蔽"Entering directory..."输出的问题

你之前用set(ENV{MAKEFLAGS} "--no-print-directory")无效的原因是:这个命令仅修改CMake自身运行时的环境变量,后续手动执行make时不会继承该设置,所以无法生效。

以下是两种仅通过CMakeLists.txt实现需求的方法:

方法一:直接将参数写入生成的Makefile(推荐)

使用CMAKE_ADDITIONAL_MAKEFILE_CONTENTS变量,把MAKEFLAGS的设置追加到顶层Makefile中,这样无论手动运行make还是通过cmake --build .编译,都会自动应用参数:

# 放在CMakeLists.txt的开头,project()命令之前
set(CMAKE_ADDITIONAL_MAKEFILE_CONTENTS "MAKEFLAGS += --no-print-directory")

方法二:设置CMake调用make时的参数

如果习惯用cmake --build .触发编译,可以设置CMAKE_MAKE_FLAGS变量,让CMake传递参数给make:

# 放在project()命令之前
set(CMAKE_MAKE_FLAGS "--no-print-directory")

注意:这种方法仅在通过CMake调用make时生效,手动运行make需要自己加参数,不如方法一通用。

两种方法都不需要修改系统环境变量,仅通过CMakeLists.txt即可实现跨版本屏蔽"Entering directory..."的输出。

内容的提问来源于stack exchange,提问作者sdbbs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 22:16:39