2

我正在尝试使用 CMake 为一个中等规模的项目建立一个构建系统,该项目由几个较小的项目组成,其中一些是外部开发的。我想要的目录结构是这样的:


基于的

  |--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)' 还是需要创建另一个文件。谢谢。

4

1 回答 1

0

不确定这是否是您要查找的内容,但按照此处所述创建 libAConfig.cmake: 如何创建项目配置文件可能会成功。

于 2012-06-28T07:38:49.187 回答