Мне кажется, что целевые свойства 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
)
нигде не копирует файлы заголовков.
Итак, конфликтуют ли эти два свойства? Они одинаковы? Один или оба из них игнорируются в некоторых ситуациях? Какой из них мне следует установить для библиотеки, использование которой другим кодом требует некоторых заголовков?