用CMake实现C语言中的依赖关系管理

用CMake实现C语言中的依赖关系管理,c,cmake,C,Cmake,我最近尝试用C语言(使用CMake)制作一些基本项目,但我发现有一个方面非常困难,那就是将我制作的所有不同的东西很好地链接在一起。例如,我首先创建了一个包含一些基本数据结构的数据结构库,以及遍历这些结构的函数等,然后创建了一个处理单元测试的测试库。在我做的大多数新项目中,我发现我需要包括这两个库,但我找不到一个简单的方法来实现。我尝试使用git子模块来实现这一点,虽然这在大多数情况下都有效,但每当我更新任何依赖项时,更新依赖项似乎都是一场噩梦。我还研究了cmake软件包系统查找程序包,以及相关功

我最近尝试用C语言(使用CMake)制作一些基本项目,但我发现有一个方面非常困难,那就是将我制作的所有不同的东西很好地链接在一起。例如,我首先创建了一个包含一些基本数据结构的数据结构库,以及遍历这些结构的函数等,然后创建了一个处理单元测试的测试库。在我做的大多数新项目中,我发现我需要包括这两个库,但我找不到一个简单的方法来实现。我尝试使用git子模块来实现这一点,虽然这在大多数情况下都有效,但每当我更新任何依赖项时,更新依赖项似乎都是一场噩梦。我还研究了cmake软件包系统<代码>查找程序包,以及相关功能;但我似乎无法让它工作(至少当我想在自定义目录中安装它时是这样)

我想知道C程序员是否有某种“标准”的方式来处理这个问题,那可能是什么。子模块是要走的路吗?如果是这样的话,有没有一种方法可以让我干净利落,确保一切都是正确的版本

提前谢谢