INTERFACE_LINK_LIBRARIES属性中的哪些合法项目?

时间:2017-11-20 14:26:59

标签: cmake

我的期望是,目标属性INTERFACE_LINK_LIBRARIES中的项目是其他目标。但是当我在Linux上使用官方的Threads包时。

find_package(Threads)
get_property(libs TARGET Threads::Threads PROPERTY INTERFACE_LINK_LIBRARIES)

libs ist设置为-lpthread,它似乎是一个链接器标志,而不是目标。 这是对的吗?

1 个答案:

答案 0 :(得分:3)

该属性由命令target_link_libraries()填充,其documentation列出了可以指定的内容:

  • 图书馆目标名称
  • 库文件的完整路径
  • 普通图书馆名称
  • 链接标记
  • 关键字debugoptimizedgeneral

因此,即使CMake文档不鼓励,也允许使用链接标记。