cmake 笔记

target_include_directories(hello_library
    PUBLIC
        ${PROJECT_SOURCE_DIR}/include
)

target_link_libraries( hello_binary
    PRIVATE
        hello_library
)

PRIVATE - 被添加到目标(库)的包含路径中。
INTERFACE - 没有被添加到目标(库)的包含路径中,而是添加到了链接这个库的其他目标(库或者可执行程序)包含路径中
PUBLIC - 既被添加到目标(库)的包含路径中,同时添加到了链接这个库的其他目标(库或者可执行程序)的包含路径中

简单来说,不考虑文件大小,重复引用,全部用public就完事了。

add_library命令如果没有可添加的执行文件,只能用INTERFACE来修饰
add_library(${PROJECT_NAME} INTERFACE)

上一篇:EdgexGo2.0编译-7 20.10.6: Pulling from library/docker


下一篇:Interface Builder 学习笔记