c++ - 如何将 CMake 项目与基于 GYP 的库集成

我一直在使用 C++ 和 CMake 构建跨平台应用程序。不幸的是,许多库不包含 CMake 项目描述。例如 Google 支持的项目经常使用 GYP .

以下是我针对这个问题采取的一些方法:

  1. 在网络上查找库的 CMake 项目描述
  2. 使用 CMake 编写项目描述

查找或编写库的 CMakeLists.txt 描述是一个维护问题。随着库的更新,我的 CMake 描述也必须更新。此外,图书馆作者创建的项目文件更可能是正确的。

我应该如何将 GYP 项目具体集成到基于 CMake 的软件中?在 CMake 中复制项目描述是最好的方法,还是我缺少 CMake 的某些功能?

在 CMake 中处理此类问题的一般方法有哪些?那些包含一组用于各种平台/IDE 的项目文件的库呢? CMake 是否提供了将这些项目集成到我的项目的方法?

最佳答案

使用 ExternalProject 模块

http://www.cmake.org/cmake/help/v3.0/module/ExternalProject.html

https://stackoverflow.com/questions/22213903/

相关文章:

c++ - 使用 CMake、Clang 和 Ninja 在 Windows 上构建 c++ 项目

c++ - 基于 Python 的构建工具

ant - Ant 是否提供绕过依赖的方法?

c++ - 在 Mac 上构建 Googletest 时出现链接错误(命令行)

java - 如何在我的 Ant 构建中包含外部 jar 库

msbuild - 为什么 autoconf/automake 项目会链接到已安装的库而不是本地开发

build - 如何使用 NUnit.Runners 包和 psake 执行 NUnit 测试?

c# - Visual Studio 无法写入输出文件 '...\obj\Debug\Foo.Bar

android - 错误 : Program type already present: andro

build-process - 特定于目标的变量作为 Makefile 中的先决条件