在我看来,目标属性INTERFACE_INCLUDE_DIRECTORIES
和PUBLIC_HEADER
在非Apple平台上具有相同的含义,但在某些情况下(例如target_include_directories()
),我看到其中之一使用,而在其他情况下(例如install()
)-我看到了另一个。
我还注意到设置库的PUBLIC_HEADER
属性并发出
install(
TARGETS mylib
ARCHIVE DESTINATION lib
INCLUDES DESTINATION include
PUBLIC_HEADER DESTINATION include
CONFIGURATIONS Release RelWithDebugInfo
)
没有将头文件复制到任何地方。
那么,这两个属性是否冲突?他们是一样的吗?在某些情况下是否忽略了其中之一?对于其他代码使用需要某些标头的库,我应该设置其中的哪一个?