INTERFACE_INCLUDE_DIRECTORIES和PUBLIC_HEADER如何相互作用?

时间:2018-09-01 19:22:12

标签: cmake libraries buildconfiguration

在我看来,目标属性INTERFACE_INCLUDE_DIRECTORIESPUBLIC_HEADER在非Apple平台上具有相同的含义,但在某些情况下(例如target_include_directories()),我看到其中之一使用,而在其他情况下(例如install())-我看到了另一个。

我还注意到设置库的PUBLIC_HEADER属性并发出

install(
    TARGETS mylib
    ARCHIVE DESTINATION lib
    INCLUDES DESTINATION include
    PUBLIC_HEADER DESTINATION include
    CONFIGURATIONS Release RelWithDebugInfo
)

没有将头文件复制到任何地方。

那么,这两个属性是否冲突?他们是一样的吗?在某些情况下是否忽略了其中之一?对于其他代码使用需要某些标头的库,我应该设置其中的哪一个?

0 个答案:

没有答案