我试图建立一个使用CMake的构建系统,该构建系统是由几个较小的项目组成的中等规模的项目,其中一些项目是在外部开发的。目录结构,我想是这样的:CMAKE项目依赖关系
BASEDIR
|--libA
| |-src (.cxx, source files)
| |-libA (header files, such that #include statements are "libA/headerA.h")
| |-bin (executable, binary, object files)
| |-build (CMake output, makefiles, platform specific stuff, not in CVS/SVN)
| |-CMakeLists.txt
|
|--libB
| |-- ..similar structure
我认为力霸和libB作为单独的项目。有可能,libA的配置还会描述链接到外部库(如libxml2等),并设置适当的链接选项并包含这些包的路径。我希望libB依赖于libB并能够获取一组宏来自动附加到,例如,它是LD_LIBRARY_PATH,INCLUDES变量等等,以便它可以适当地链接到libA和所有libA需要的内容一种可扩展的方式。
我曾与另一个配置管理工具,这很好,但没有成为一个行业标准,所以想转移到cmake。我还没有看到CMake如何处理这些相互依赖关系的一个很好的例子 - 任何人都知道一个好的起点?我是否需要'包含($(CMAKE_MODULES_PATH)libA/CMakeLists.txt)'还是有另一个我需要创建的文件。谢谢。
不知道如何使这个文件会有所帮助。虽然我们在我们的项目中有这样的设置。 – Versatile