【问题标题】:CMake + find package or check out and installCMake + 查找包或签出并安装
【发布时间】:2011-01-15 05:46:30
【问题描述】:

我刚刚切换到 CMake。然而发现它非常有用并实现了一些简单的应用程序和库。 在某处我读到可以从 cmake 脚本中查询 git 以签出存储库。

我想用我的 Find(package).cmake 检查一个包是否存在 如果它不存在,我想启动一个结帐并将新目录作为子目录添加到 cmake 脚本中。

这样我的所有依赖项都会自动安装。 有人知道如何实现这个想法吗?谢谢!

再见,亚瑟

【问题讨论】:

    标签: c++ git github cmake


    【解决方案1】:

    您可能正在考虑在 CMake 2.8 中添加的 ExternalProject 模块。它记录在http://www.cmake.org/cmake/help/cmake-2-8-docs.html#module:ExternalProject,并在http://www.kitware.com/products/archive/kitware_quarterly1009.pdf 的第14 页对其进行了介绍。它允许您签出/下载项目并自动构建它。

    【讨论】:

      【解决方案2】:

      我会尝试使用 find_package 查找包,如果未设置 package_FOUND 变量,您必须使用 execute_process 手动调用 git。如果源代码已经包含 CMakeLists.txt,只需使用 add_subdirectory 添加它,否则您必须编写自己的 CMake 指令来首先构建该包。

      【讨论】:

        猜你喜欢
        • 2018-04-10
        • 2022-06-23
        • 1970-01-01
        • 2016-08-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-14
        • 2017-08-12
        相关资源
        最近更新 更多