Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CMAKE项目依赖关系_Cmake - Fatal编程技术网

CMAKE项目依赖关系

CMAKE项目依赖关系,cmake,Cmake,我正在尝试使用CMake为一个中等规模的项目建立一个构建系统,该项目由几个较小的项目组成,其中一些项目是由外部开发的。我想要的目录结构如下: basedir |--libA | |-src ( .cxx, source files ) | |-libA ( header files, such that #include statements are "libA/headerA.h" ) | |-bin ( executable, binary

我正在尝试使用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_路径,包括变量等等。。。这样它就可以以可伸缩的方式与libA以及libA所需的一切进行适当的链接


我曾与另一个配置管理工具合作,该工具在这方面做得非常好,但尚未成为行业标准,因此我想转向cmake。我还没有看到CMake如何处理这些相互依赖关系的好例子——有人知道一个好的起点吗?我是否需要“包括($(CMAKE_MODULES_PATH)libA/CMakeLists.txt)”或者是否需要创建另一个文件。谢谢。

不确定这是否是您正在寻找的,但创建一个libAConfig.cmake,如下所述:
可能会成功。

不确定这是否是您要查找的内容,但创建一个libAConfig.cmake,如下所述:
可能会有帮助。

不确定创建此文件会有什么帮助。虽然我们的项目中有这样的设置,但不确定制作这个文件会有什么帮助。虽然我们的项目中有这样的设置。