我一直在使用C ++和CMake构建跨平台应用程序。不幸的是,许多库不包含CMake项目描述。例如,Google支持的项目经常使用GYP。
以下是我为此问题采取的一些方法:
查找或编写库的CMakeLists.txt描述是一个维护问题。随着库的更新,我的CMake描述也必须更新。此外,图书馆作者创建的项目文件更可能是正确的。
我应该如何具体地将GYP项目集成到基于CMake的软件中?在CMake中复制项目描述是最好的方法,还是我缺少一些CMake功能?
在CMake中处理这类问题的一般方法有哪些?那些包含各种平台/ IDE的项目文件的库呢? CMake是否提供了将这些项目集成到我的项目中的方法?
答案 0 :(得分:5)
不确定输出是否可用于您的目的,但gyp可以生成Cmake项目gyp -f cmake mygypfile.gyp
。您的CMakeLists.txt
将在out/[Configuration]
中(配置可以是调试,发布等)
答案 1 :(得分:4)
使用ExternalProject模块
http://www.cmake.org/cmake/help/v3.0/module/ExternalProject.html