使用cmake编译非cmake项目

Posted

技术标签:

【中文标题】使用cmake编译非cmake项目【英文标题】:Using cmake to compile a non-cmake project 【发布时间】:2014-02-22 21:01:21 【问题描述】:

我有一个使用 cmake 进行配置和编译的项目,但是这个项目依赖于一个使用传统 configure / make / make install 过程的外部源代码树。是否可以告诉cmake,在编译主项目之前,应该先调用外部源代码树上的configure(带有一些特定参数)、make和make install?

谢谢

【问题讨论】:

你很可能在寻找cmake.org/cmake/help/v2.8.11/cmake.html#module:ExternalProject 这正是我所需要的,谢谢! @mike.dld 您介意添加您的评论作为答案吗?这样 sumat 可以接受答案。谢谢 【参考方案1】:

遇到这个问题时,我有完全相同的问题。

(在我的情况下,想要将基于 Autoconf 的 libncurses 和 libcaca 作为依赖项(和 git 子模块)正确添加到我的基于 CMake 的项目中。)

所以只是为了给问题设置一个答案,基于 mike.did 的评论

CMake 的 ExternalProject 模块似乎绝对是正确的解决方案。

(另见:)

Compile other external libraries (without CMakeLists.txt) with CMake Cleanest way to depend on a make-based C library in my CMake C++ project

【讨论】:

以上是关于使用cmake编译非cmake项目的主要内容,如果未能解决你的问题,请参考以下文章

cmake编译后能给vs使用吗

如何使用 QtCreator 为 Android/iOS 构建基于 CMake 的项目

使用 cmake 进行交叉编译

使用 CMake 编译项目

为啥 cl.exe(Visual Studio 编译器)无法使用 CMake(错误报告)编译项目?

重新编译使用CMake的旧项目的问题处理