1、CMake中的INTERFACE起传递作用,可以封装接口lib、配置选项、路径等等;使用它的interface target只是起到传递作用、不去调用它,而是传递给下一站;可以简化使用方组织,起到封装作用
add_library(target INTERFACE)
target_compile_options(target INTERFACE -Wall -Werror -O2)
target_include_directories(
target INTERFACE
external)
add_executable(XX.exe xx.cpp)
target_link_libraries(XX PRIVATE target) //最终使用方
2、如上在接口中配置的路径在CMake后VS属性中就会显示为【C++】【所有选项】【附件选项】中的/external:I 配置路径