如何避免cmake在其“系统缓存”中读取$ HOME / .cmake /

时间:2016-09-02 10:13:53

标签: linux cmake caffe

当我使用cmakecaffe等项目运行gflags时,它会在系统级别写入一些信息。具体来说,在Linux系统上,它会生成一些目录,例如$HOME/.cmake/Caffe$HOME/.cmake/gflags

我的问题是此信息以后用于我编译的任何项目。因此,$HOME/.cmake中引用的程序(部分)被找到,即使我不想要它(就我而言,我定义了外部变量来控制外部程序cmake是允许的考虑给定的编译)。 当前的解决方案是在需要时(即在编译我的新程序之前)删除目录$HOME/.cmake。我考虑在rm -rf $HOME/.cmake中添加.bashrc,但这并不完全令人满意(也不复杂!)。任何人都可以提出更好的解决方案吗?

NB :问题中的表达“系统缓存”可能是错误的。我会很高兴得到一个更好的学期。感谢您对此的任何反馈(实际上,如果我知道正确的表达方式,我可能已经在网上找到了解决方案......)

编辑:

一旦你知道“系统缓存”实际上是 User Package Registry ,答案很简单。见下文......

1 个答案:

答案 0 :(得分:0)

目录$HOME/.cmake用户包注册表。要避免find_package()在此目录中搜索,请使用选项NO_CMAKE_PACKAGE_REGISTRY。见文件第6点:

https://cmake.org/cmake/help/v3.0/command/find_package.html