【问题标题】:How to find the CMake command line I used for the build?如何找到我用于构建的 CMake 命令行?
【发布时间】:2014-07-09 03:40:45
【问题描述】:

这是通常发生的情况。我得到了具有 cmake 构建脚本的源代码。我创建了一个build 子目录,切换到它,运行cmake <options> ..。根据项目及其依赖项,我必须重复最后一步,直到找到所有必要的依赖项并生成 makefile。我成功构建并使用了该项目。几天过去了,我忘记了这个安装。然后有一天我试图在另一台机器上设置相同的项目,现在我不记得我过去使用什么确切的 CMake 命令行来让事情正常运行。

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

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

【问题讨论】:

    标签: cmake


    【解决方案1】:

    你不能。

    通过CMakeCache.txt分析可以猜出原来的CMake命令

    作为一种解决方法,您始终可以创建一个简单的包装器来存储使用的原始命令行。大致如下:

    #!/bin/bash
    echo "$@" > cmake_command.log
    $@
    

    【讨论】:

    • 怎么样?我有一个 CMakeCache.txt,但它包含每一个可能的设置。我的命令行要简单得多,但仍然很棘手,以至于我不记得以前设置的所有内容。从 CMakeCache.txt 获取实际命令行是否有技巧?
    • 我正在寻找同样的东西,就目前而言,这实际上并不能回答问题。也许答案很简单,就像 “你不能。”,这似乎暗示了这一点。
    • 我讨厌为此使用 Cmake 的项目。
    • 我喜欢这个答案,因为至少现在我可以停止寻找了。尽管如此,CMake 还是皱着眉头,没有存储如此潜在有用的东西,尤其是当所有其他可以想象的东西都被保存时。
    • @JohnDeBord configure 总是将完整的命令行保存在config.log 中,所以任何曾经使用它构建过任何东西的人都会自然而然地期望 CMake 也会这样做。
    猜你喜欢
    • 1970-01-01
    • 2021-10-22
    • 2019-02-04
    • 1970-01-01
    • 1970-01-01
    • 2019-10-02
    • 2012-01-23
    • 1970-01-01
    相关资源
    最近更新 更多