其他分享
首页 > 其他分享> > CMake 依赖关系

CMake 依赖关系

作者:互联网

add_library(archive archive.cpp zip.cpp lzma.cpp)
add_executable(zipapp zipapp.cpp)
target_link_libraries(zipapp archive)
target_link_libraries(<target>
                      <PRIVATE|PUBLIC|INTERFACE> <item>...
                     [<PRIVATE|PUBLIC|INTERFACE> <item>...]...)

Libraries and targets following PUBLIC are linked to, and are made part of the link interface.
Libraries and targets following PRIVATE are linked to, but are not made part of the link interface.
Libraries following INTERFACE are appended to the link interface and are not used for linking <target>.

PUBLIC会把依赖关系传递下去, PRIVATE不会传递依赖关系, INTERFACE只用于传递依赖关系.
依赖关系通过<target>上的INTERFACE_LINK_LIBRARIES属性来传递.

The value of this property is used by the generators when constructing the link rule for a dependent target.
A dependent target's direct link dependencies, specified by its LINK_LIBRARIES target property, are linked first,
followed by indirect dependencies from the transitive closure of the direct dependencies'
INTERFACE_LINK_LIBRARIES properties.

标签:关系,依赖,CMake,target,LIBRARIES,link,INTERFACE,LINK
来源: https://www.cnblogs.com/snail-0304/p/16062592.html