我一直在使用 C++ 和 CMake 构建跨平台应用程序。不幸的是,许多库不包含 CMake 项目描述。例如,谷歌支持的项目经常使用GYP。
以下是我针对这个问题采取的一些方法:
- 在 Web 上查找库的 CMake 项目描述
- 使用 CMake 编写项目描述
查找或编写库的 CMakeLists.txt 描述是一个维护问题。随着库的更新,我的 CMake 描述也必须更新。图书馆作者创建的项目文件也更有可能是正确的。
我应该如何将 GYP 项目具体集成到基于 CMake 的软件中?在 CMake 中复制项目描述是最好的方法,还是我缺少 CMake 的某些功能?
在 CMake 中处理此类问题的一般方法有哪些?那些包含一组用于各种平台/IDE 的项目文件的库呢?CMake 是否提供了将这些项目集成到我的项目的方法?