14

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

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

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

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

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

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

4

2 回答 2

5

使用 ExternalProject 模块

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

于 2014-03-06T08:22:15.780 回答
5

不确定输出是否可用于您的目的,但 gyp 可以生成 Cmake 项目gyp -f cmake mygypfile.gyp。您CMakeLists.txt将在out/[Configuration](配置可以是 Debug、Release 等)

于 2015-02-10T22:33:04.057 回答