【问题标题】:Compile other external libraries (without CMakeLists.txt) with CMake使用 CMake 编译其他外部库(没有 CMakeLists.txt)
【发布时间】:2011-03-30 04:16:33
【问题描述】:

short -- 当二进制/库只提供一个 makefile 时,是否可以使用 CMake 从项目中构建外部二进制/库?

所以你有你自己的项目,在你的 src-tree 中有一堆 CMakeLists.txt 和这个带有源文件的外部库。您的资源依赖于这个库,一些二进制文件/库想要链接它。如果它只有一个 makefile 或 Visual Studio 项目文件并且没有给定的 CMakeLists.txt,如何编译这个外部库? 是否有机会从 CMake 中调用配置/制作?或者在 Windows 下使用 VS 运行批量编译?还是别的什么?

感谢您对此的帮助...

【问题讨论】:

    标签: c++ makefile cmake


    【解决方案1】:

    听起来你想要 CMake 的外部项目。在开发 Titan 构建系统时,我已经广泛使用它,它提供了一种管理多个源外构建的方法。您可以包含 ExternalProject,然后类似以下内容将构建项目:

    ExternalProject_Add(Qt
       DOWNLOAD_DIR ${CMAKE_CURRENT_BINARY_DIR}
       网址 ${qt_file}
       UPDATE_COMMAND ""
       SOURCE_DIR ${qt_source}
       BUILD_IN_SOURCE 1
       CONFIGURE_COMMAND ${qt_configure}
       BUILD_COMMAND ${qt_build}
       INSTALL_COMMAND "${qt_install}"
       )

    October 2009 issue of the source 也有一篇关于外部项目的文章。使用外部项目,您可以调用主机系统上可用的任何 make 命令,我们在 Windows、Mac 和 Linux 上使用它们提供的配置命令构建 Qt。

    【讨论】:

    • 我很高兴它有帮助。有几个使用这个的开源项目(例如 Titan),您可以查看示例。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-19
    • 1970-01-01
    • 2020-12-05
    • 2013-09-15
    • 2020-12-14
    • 1970-01-01
    • 2018-03-15
    相关资源
    最近更新 更多