在源代码树中包含第三方库

时间:2011-02-13 23:35:32

标签: c++ development-environment cmake

我的CMake C ++项目依赖于几个商业库(只有lib和头可用)。我想要一种简单的方法将这些包包含在我的源代码树中。

我尝试了以下选项:

  1. 使用svn:externals并在源树的 thirdparty 文件夹中提供这些库。优点:简单。缺点:慢速下载,全部或全部。
  2. 有一个README文件,详细说明了我的CMake中哪个选项需要什么包。开发人员必须下载并解压缩到正确的位置。优点:快速下载,只选择必要的包。缺点:复杂。
  3. 我有办法自动将这些软件包部署到开发人员吗?

    我想要的工作流程:

    1. 开发人员在CMake中选择一个选项,例如USE_LIBRARY_A
    2. 开发人员点击配置
    3. 下载包并将其放在源树中的正确位置
    4. 开发人员点击生成
    5. 解决方案/ Makefile已准备好进行编译
    6. 我想我想要的是类似于Python中的easy_install或Ruby中的rubygems。

1 个答案:

答案 0 :(得分:1)

可以通过将第三方库添加为CMake external projects来实现所需的工作流程。

ExternalProject_Add命令可让您自动下载,构建和安装第三方库。