用CMake编译其他外部库(没有CMakeLists.txt)

简短 - 当二进制文件/库只有一个生成文件给出时,是否有可能使用CMake从项目中构建外部二进制/库?

所以你有自己的项目,在你的src-tree中有一堆CMakeLists.txt,并且这个外部库有它的源文件。 你的源代码取决于这个库,一些二进制文件/库希望链接它。 如果只有makefile或Visual Studio项目文件而没有给定CMakeLists.txt,那么如何编译此外部库? 有没有机会调用配置/制作CMake? 或者在Windows下使用VS进行批量编译? 还是其他什么?

感谢您的帮助...


这听起来像你想要CMake的外部项目。 在开发Titan构建系统时,我曾与其广泛合作过,并提供了一种管理多个源构建的方法。 你可以包含ExternalProject,然后像下面这样构建项目:

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

在2009年10月的源文章中也有关于外部项目的文章。 使用外部项目,您可以调用主机系统上的任何make命令,我们使用在Windows,Mac和Linux上提供的configure命令来构建Qt。

链接地址: http://www.djcxy.com/p/24451.html

上一篇: Compile other external libraries (without CMakeLists.txt) with CMake

下一篇: How to apply different compiler options for different compilers in cmake?