链接到库时,该库的所有接口目录都将添加到此目标的包含路径中。
当可执行文件包含多个对象库时,那些OBJECT库将不具有此包含路径。我不能简单地在OBJECT库上target_link_library
。 CMake会失败。
是否有一个CMake功能可以添加所有接口目录但不链接?
我自己创建了它,但我很确定它在某个地方......
function(target_add_interfaces TARGET OTHER_TARGETS)
foreach(OTHER_TARGET ${OTHER_TARGETS})
target_include_directories(${TARGET} PUBLIC "$<TARGET_PROPERTY:${OTHER_TARGET},INTERFACE_INCLUDE_DIRECTORIES>")
endforeach(OTHER_TARGET)
endfunction()