CMAKE项目依赖项

时间:2012-06-03 18:17:46

标签: 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

我认为libA和libB是单独的项目。潜在地,libA的配置还将描述与外部库(如libxml2等)的链接,并设置适当的链接选项并包含这些包的路径。我想让libB依赖于libB并且能够获取一组宏来自动附加到,例如,它的LD_LIBRARY_PATH,INCLUDES变量等等...这样它可以适当地链接到libA和libA需要的所有内容可扩展的方式。

我使用过另一种配置管理工具,它做得很好,但没有成为行业标准,所以想转向cmake。我还没有看到CMake如何处理这些相互依赖关系的一个很好的例子 - 谁知道一个好的起点呢?我是否需要'include($(CMAKE_MODULES_PATH)libA / CMakeLists.txt)'或者是否需要创建另一个文件。感谢。

1 个答案:

答案 0 :(得分:0)

不确定这是否是您要找的,但是如下所述创建了一个libAConfig.cmake: How to create Project config file可能会成功。