cmake - 在另一个目标中包含一个目标的包含目录
问题描述
如何将target1
的包含目录(由 制作target_include_directories(target1 t1/include)
)包含到中target2
?
我只知道一种方法,即创建一个变量并set()
在其中包含目录,然后将该变量重用于另一个目标。但这看起来太不灵活了,我认为 CMake 必须有一个更简单的方法。
我的目标是共享库。
解决方案
"$<TARGET_PROPERTY:TargetName,INTERFACE_INCLUDE_DIRECTORIES>"
是我要找的
像这样使用:
target_include_directories(MyTarget
PRIVATE
"$<TARGET_PROPERTY:OtherTarget,INTERFACE_INCLUDE_DIRECTORIES>"
)
它允许我包含目标目录PUBLIC
并将其包含到INTERFACE
OtherTarget
MyTarget
推荐阅读
- c# - OleDB Select 命令不适用于多个 OR 语句(C#)
- kubernetes - 如何不覆盖 Helm 模板中随机生成的秘密
- vuetify.js - 如何创建 Vuetify 多步骤表单?
- php - 如何通过连接到另一个数据库中的表来删除模式?
- c# - Entity Framework 6.x Code First 来自数据库,添加列属性
- arrays - Angular - 如何在操作数组时将更改从变量绑定到 html
- c# - 在 C# 中从服务器端更新代码时出现空错误
- python - python 上的 xlsxwriter 中的“没有这样的文件或目录”作为服务
- ejs - 为什么我在简单的 ejs 文件上使用 eslint-ejs 插件时出现解析错误?
- c++ - 为什么 Eigen 对混叠做出不一致的默认假设?