我一直在使用 C++ 和 CMake 构建跨平台应用程序。不幸的是,许多库不包含 CMake 项目描述。例如 Google 支持的项目经常使用 GYP .
以下是我针对这个问题采取的一些方法:
查找或编写库的 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++ - 在 Mac 上构建 Googletest 时出现链接错误(命令行)
java - 如何在我的 Ant 构建中包含外部 jar 库
msbuild - 为什么 autoconf/automake 项目会链接到已安装的库而不是本地开发
build - 如何使用 NUnit.Runners 包和 psake 执行 NUnit 测试?
c# - Visual Studio 无法写入输出文件 '...\obj\Debug\Foo.Bar