cmake - 如何在编译我的源之前告诉 CMake 下载外部项目

标签 cmake

我有自己的代码,它依赖于第三方库,例如 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 下载第三方库吗?

谢谢!

最佳答案

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

关于cmake - 如何在编译我的源之前告诉 CMake 下载外部项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28899681/

相关文章:

visual-c++ - Cmake 无法为 Visual Studios 10 amd64 配置项目

c++ - CommonAPI CMake 错误

c++ - Clang 10 无法在 macOS 10.12 上将 C++ 应用程序与 CMake 链接

visual-c++ - Visual C++ 11 在 CMake 生成的项目中找不到 Boost unit_test_framework 库

c++ - 导入的目标 "Boost::system"包含不存在的路径 "/include"

c++ - 在 gnu radio 中编译出树模型时出现 CMake 错误

cmake - 如何将现有的源文件和头文件添加到 CLIon 项目

c++ - 使用CMake,Microsoft MPI和Visual Studio 2017-找不到mpi.h

c++ - 如何编译: Synergy on mac (new toolchain from 2017)

c++ - 如何在CMake中使用GTest?遵循Google指南时的链接问题