如何找到我用于构建的CMake命令行?

Jay*_*esh 13 cmake

这是典型的情况.我得到了具有cmake构建脚本的源代码.我创建一个build子目录,更改为它,运行cmake <options> ...根据项目及其依赖项,我必须重复最后一步,直到找到所有必要的依赖项并生成makefile.我成功构建并使用了该项目.几天过去了,我忘记了这个装置.然后有一天,我正在尝试在另一台机器上设置相同的项目,现在我无法回想起我过去使用的确切CMake命令行来使事情正常工作.

我仍然在旧机器上有旧的构建目录.通过查看构建目录中的一些自动生成的文件,我可以找到过去使用过的cmake命令行吗?我期待CMake只是将我在其中一个文件中使用的确切命令行放在注释表单中.但如果它这样做,我还没有找到它.

如何找到我使用的原始CMake命令行?

Pet*_*ter 8

你不能.

可以通过分析猜测原始CMake命令 CMakeCache.txt

作为一种变通方法,您始终可以创建一个简单的包装器来存储使用的原始命令行.这些方面的东西:

#!/bin/bash
echo "$@" > cmake_command.log
$@
Run Code Online (Sandbox Code Playgroud)

  • 如何?我有一个 CMakeCache.txt 但它包含所有可能的设置。我的命令行要简单得多,但仍然很棘手,我不记得之前设置的所有内容。有没有从 CMakeCache.txt 获取实际命令行的技巧? (4认同)
  • 我讨厌为此使用 Cmake 的项目。 (3认同)
  • 我正在寻找同样的东西,而且就目前而言,这实际上并没有回答这个问题.也许答案就像_"你不能."_这样简单,这似乎暗示着. (2认同)
  • 我喜欢这个答案,因为至少现在我可以停止寻找.然而,对于CMake而言,没有存储如此有用的东西,尤其是在可以想象的其他所有东西都被保存的情况下. (2认同)
  • @JohnDeBord configure 总是将完整的命令行保存在 `config.log` 中,因此任何曾经使用它构建过任何东西的人自然也会期望 CMake 也这样做。 (2认同)