Как взаимодействуют INTERFACE_INCLUDE_DIRECTORIES и PUBLIC_HEADER? - PullRequest
0 голосов
/ 01 сентября 2018

Мне кажется, что целевые свойства 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
)

нигде не копирует файлы заголовков.

Итак, конфликтуют ли эти два свойства? Они одинаковы? Один или оба из них игнорируются в некоторых ситуациях? Какой из них мне следует установить для библиотеки, использование которой другим кодом требует некоторых заголовков?

...