cmake - 大型项目中与 cmake 的内部依赖关系
问题描述
我有一个项目,其中包含多个库,它们之间存在依赖关系。它看起来类似于:
project
+ libs
| + lib1
| + lib2
| + lib3
+ apps
| + app1
| + app2
我在不同的目标之间有依赖关系。例如,lib2
取决于lib1
和lib3
取决于lib2
(注意这里的传递依赖)。应用程序主要依赖于任意数量的库。
我想CMakeLists.txt
在项目根目录以及每个库和应用程序文件夹中都有一个。
我假设CMakeLists.txt
我将主要add_subdirectory()
用于包含其他CMakeLists.txt
文件,但我不确定反映不同目标(其他库上的库和库上的应用程序)之间依赖关系的最佳实践是什么,因为它们位于同一级别。换句话说,我想知道它CMakeLists.txt
的外观lib2
和lib3
外观。
更新:
我设法找到了一个潜在的解决方案:人们建议使用add_dependencies(lib1 lib2)
. 是否应该在所有add_subdirectory()
?
解决方案
推荐阅读
- java - 使用条件通过休眠注释将最新记录映射到对象类
- ibm-cloud - Watson Assistant Chatbot 将用户输入保存在 Slots 中
- c++ - 如何将向量插入到特定位置的另一个向量中,以便我将获得两者的大向量并且该位置将被覆盖?
- c++ - 如何检查函数是否在 C++ 类中实际定义
- flutter - 带有 PageView 的 Flutter 底部导航栏
- php - 在 MySQL 中创建函数时出现错误 #1064
- angular - 角度加载页面
- php - Eloquent 将 MSSQL 数据作为字符串返回,而不是它们各自的数据类型
- python - 如何根据python中的给定数字创建多个字典?
- c# - 全局 XAML 构造