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)
实现库层定义用用曾的属性
评论区