如何重置 CMake 缓存?

问题描述 投票:0回答:1

在源外构建期间,更改 cmake 参数后,我想重建项目而不删除整个构建目录。但是,有一些 CMakeCache.txt 文件保留了上次构建的旧配置。在 Clion 中,有任何选项可以重置 cmake 缓存并重新加载项目,而不影响构建结果。但是,我无法使用 cmake 命令重现此行为。有人可以帮我吗?

这是我尝试过的:

我尝试删除 CMakeCache.txt 文件以摆脱缓存。

  • 如果我只删除最上面的一个,它实际上工作得很好。但是,我有很多子目录也包含 CMakeCache.txt。有时子目录中的缓存与新生成的顶级 CMakeCache.txt 发生冲突。

  • 然后我尝试将它们全部删除。但这是行不通的。 cmake 抱怨它无法添加子目录,因为它不是源代码的子目录。我猜这是因为 cmake 在看到子项目但找不到缓存变量时感到困惑。

cmake
1个回答
1
投票

(v3.24 中的新功能):您可以在运行 CMake 配置时添加

--fresh
标志。前任。
cmake --fresh -S <source_dir> -B <build_dir> <the rest of your CMake config flags>

引用文档:

对构建树执行全新配置。这将删除任何现有的 CMakeCache.txt 文件和关联的 CMakeFiles/ 目录,并从头开始重新创建它们。

© www.soinside.com 2019 - 2024. All rights reserved.