【问题标题】:CMake: how to create a CMakeLists.txt that runs ./configure once?CMake:如何创建运行 ./configure 一次的 CMakeLists.txt?
【发布时间】:2011-10-17 06:52:39
【问题描述】:

如何创建一个 CMakeLists.txt 让 gmock 只配置一次?

我试过了:

ADD_CUSTOM_TARGET( gmock DEPENDS ${CMAKE_CURRENT_LIST_DIR}/gmock-1.6.0/lib/.libs/libgmock.a 命令 cd ${CMAKE_CURRENT_LIST_DIR}/gmock-1.6.0 && ./configure && make )

但这每次都会执行 ./configure,即使我真的只需要运行一次。

顺便说一句,我愿意使用 FIND_PACKAGE() 等...从长远来看,所以我不需要在更新 gtest 时进行更改,但此时,我只是想无需每次配置即可构建。

【问题讨论】:

    标签: cmake googletest


    【解决方案1】:

    您想要构建依赖于 gtets 或 gmock 源吗?如果是这样,gtest 邮件列表上的这个thread 可能会有所帮助。简而言之,只需 ADD_DIRECTORY 与您的 gtest 或 gmock 源代码,然后您就可以依赖其中定义的公共库目标。

    【讨论】:

      【解决方案2】:

      将 gmock 的 configure 和 make 调用拆分为两个单独的 custom_targets,不要忘记为每个对象添加依赖项。

      这对于 configure-target 可能是 configure.in 或来自 gmock 的任何其他文件,这使得需要重新运行 configure 和 configure-target 到 make-target。

      那么 make-target 应该依赖于您的目标之一,而不是依赖于 libgmock.a(由 make 调用生成)。

      HTH

      【讨论】:

        猜你喜欢
        • 2018-05-09
        • 2018-07-19
        • 1970-01-01
        • 1970-01-01
        • 2018-09-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多