如何在Clion中清除CMake缓存?

时间:2014-12-17 12:49:17

标签: cmake clion

我目前正在尝试在我的一个项目中交换静态库,这需要交换find_package()命令以显示到静态库的显式链接。我遇到的一个问题是,即使删除了重新加载CMake项目的find_package()命令,旧变量仍然存在。

除了手动删除Clion为构建项目而创建的临时文件夹中的所有文件外,有没有办法显式刷新CMake缓存?

2 个答案:

答案 0 :(得分:61)

从CLion 1.5 144.3143(2016-01-20)开始,您可以清除cmake缓存,而不用丢失CLion索引,不用重启(意思是:非常快,还有大型项目):

Tool | CMake | "Reset cache and reload project".

如果由于某些原因还不够,或者你有一个较旧的CLion,你可以做更激进的事情:

File | "Invalidate Caches / Restart" 

并单击“无效并重新启动”。

EDITS

  • 2016-01-20:添加更新的CLion可用的更快方法。

答案 1 :(得分:1)

这个缓存有一些神奇之处。 我曾经为一个变量得到了不好的价值:由于某种原因,cmake发现一些破坏的freetype包含在mono.framework内(另一个不喜欢单声道的原因......)并试图用它们来编译我的项目。显然编译失败了。

我尝试删除CMakeCache.txt并重建项目,但错误的路径又回来了。即使我删除了mono.framework dir!

解决方案是从缓存中删除不正确的行并重新启动构建。之后,cmake获得了正确的路径并且构建成功。

<强> UPD: 在我重新加载cmake项目&#34;错误的价值回来了。删除$HOME/Library/Caches/clion11/cmake/generated/目录中的所有内容(对于OS X)似乎最终解决了问题。