简短 - 当二进制/库只有一个makefile时,是否有可能用CMake从项目中构建一个外部二进制文件/库?
所以你有自己的项目,src-tree中的一堆CMakeLists.txt以及带有源文件的外部库。您的源依赖于此库,并且某些二进制文件/库希望链接它。如果只有一个makefile或Visual Studio项目文件并且没有给定的CMakeLists.txt,那么如何编译这个外部库呢? 有没有机会调用CMake的configure / make?或者在Windows下使用VS运行批处理编译?还是其他什么?
感谢您对此的帮助......
答案 0 :(得分:18)
听起来你想要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}" )
October 2009 issue of the source也有一篇关于外部项目的文章。使用外部项目,您可以调用主机系统上的任何make命令,我们使用他们在Windows,Mac和Linux上提供的configure命令构建Qt。