【问题标题】:How to tell CMake to download external projects before compiling my sources如何在编译我的源代码之前告诉 CMake 下载外部项目
【发布时间】:2015-03-06 13:22:19
【问题描述】:

我有自己的代码,它依赖于第三方库,例如 yaml-cpp。我想在编译自己的源代码之前下载这些第三方库。但是,我无法用 CMake 做到这一点。

我设法像这样下载了 yaml-cpp:

ExternalProject_Add(yaml-cpp
                URL https://yaml-cpp.googlecode.com/files/yaml-cpp-0.5.1.tar.gz
                PREFIX ${CMAKE_CURRENT_BINARY_DIR}/yaml-cpp
                CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>

但是当我输入时

cmake ..
make

我的源代码是以前编译的。实际上,yaml-cpp 是在最后一步下载的。

您知道如何在构建的第一步告诉 CMake 下载第三方库吗?

谢谢!

【问题讨论】:

    标签: cmake


    【解决方案1】:

    ExternalProject 创建一个目标。你可以做你的第一个目标,例如您的库,依赖于该目标。然后在您开始构建库之前下载它。

    【讨论】:

      【解决方案2】:

      是的,它有效! 我刚刚添加了一行

      add_dependencies(my_project yaml-cpp)
      

      并且在编译 my_project 之前下载了 yaml-cpp。

      非常感谢您的帮助!

      【讨论】:

      • 对不起,我对stackoverflow很陌生。看来我不能赞成你的回答,因为我的“声誉”太低了。你能解释一下如何接受你的回答吗?
      • 哦,我设法支持您的回答,因为我的声誉比几个小时前要高。所以,我只是需要知道如何接受你的回答。
      • 太棒了!完成了!非常感谢您的帮助!
      猜你喜欢
      • 2022-12-17
      • 1970-01-01
      • 1970-01-01
      • 2019-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多