如果我不小心更改了头文件,保存它,然后将其更改回来并重新保存,如何阻止cmake检测到更改并重建其所有依赖项.通常我甚至不知道它在我重新运行之后才被修改make
并开始重建过程.
我尝试了一些天真的手动时间戳更改,但没有运气.
要清楚,我正在寻找一个能够解释cmake使用规则的黑客或者某人.使用命令行gcc/clang,环境是linux/os x.
cmake
是一个makefile生成器(以及它可以生成的其他东西).这就是你建造的原因make
.
您看到的行为确实是标准make
行为.这是一个通用的构建工具; 每当目标过时时,通过对该目标应用"配方"来重建任何"目标".这些目标和食谱都是由cmake
.
您可以询问make
它将重建哪些目标(make --dry-run
)并更新标头的时间戳以优先于所有目标(touch -r oldest_target header.h
).或者,为了避免确定哪个目标是最旧的,交替make --dry-run
并 touch -r
使用第一个目标直到make --dry-run
不再返回目标.