什么是CMake缓存?

时间:2018-11-06 00:55:49

标签: c++ c caching cmake

什么是CMake缓存?

我正在阅读cmake手册,偶尔会遇到 cmake缓存一词。例如本段:

  

-C <initial-cache>   预加载脚本以填充缓存

     

首次在空的构建树中运行cmake时,它将创建一个   CMakeCache.txt文件,并使用以下文件的可自定义设置填充它   该项目。此选项可用于指定要从中   在第一次通过项目cmake之前加载缓存条目   列表文件。加载的条目优先于项目的默认条目   价值观。给定的文件应该是包含SET的CMake脚本   使用CACHE选项而不是缓存格式文件的命令。

这是什么缓存?
有不同类型的缓存吗?
还是更好的问题是:什么是缓存?

还有,缓存的重要性是什么?
在处理缓存时有一些警告吗?
例如,当您重新启动计算机时,缓存会重置吗?

1 个答案:

答案 0 :(得分:2)

CMake缓存是指一组持久变量,这些变量包含在构建目录中名为CMakeCache.txt的文件中。这些包括诸如用户可配置选项之类的东西,它们定义了项目的某些行为。例如,您可以在构建目录中运行cmake -D CMAKE_BUILD_TYPE=Release .并在CMakeCache.txt中找到该变量。

CMake仅具有一种类型的缓存。在第一次配置后,它将创建并保存到CMakeCache.txt中,并且在正常使用下永远不会重置自身。