1.关于 PUBLIC PRIVATE INTERFACE
PUBLIC 当前target和其超集
PRIVATE 当前target
INTERFACE 当前target的超集
(官方文档里用的是consumer 和producer 纯纯谜语人)
Exercise 1 - Adding Usage Requirements for a Library
将库层与应用层解耦
在库CmakeLIsts添加
target_include_directories(MathFunctions INTERFACE ${CMAKE_SOURCE_DIR})这样只要应用层添加了target_link_libraries()就可以使用了
Exercise 2 - Setting the C++ Standard with Interface Libraries
同样解耦
add_library(tutorial_compiler_flags INTERFACE)
target_compile_features(tutorial_compiler_flags INTERFACE cxx_std_11)
target_link_libraries(Tutorial PUBLIC MathFunctions tutorial_compiler_flags)实现库层定义用用曾的属性
评论区