Как я программно показываю или скрываю значок конверта Outlook?

CMake не может вывести набор файлов заголовков, которые будут установлены из цели. Это имеет смысл, так как цель может содержать как частные, так и публичные заголовочные файлы, но CMake не делает различий между ними. Как следствие, вы должны явно указать заголовочные файлы в команде INSTALL(FILES ...):

install(FILES ${MY_HEADER_FILES} DESTINATION include)

Поле PUBLIC_HEADER , на которое вы наткнулись, связано с механизмом платформы OSX. , который является его собственной червей. Я предлагаю вам держаться подальше от этого, если вы на самом деле не хотите развернуть свою библиотеку как .framework в OSX.

Обратите особое внимание на параметр INCLUDES DESTINATION для команды INSTALL(TARGET ...). Хотя это на самом деле не копирует сами файлы, оно позволяет автоматически добавлять каталог include в импортируемую цель, предоставленную сценарием пакета конфигурации. Если вы намереваетесь предоставить своим пользователям скрипт конфигурации пакета (что вам, вероятно, следует, по крайней мере, если вы ожидаете, что ваши пользователи также будут использовать CMake), вы, вероятно, захотите установить эту опцию.

Поскольку механизм установки в целом довольно сложен, у меня есть мой небольшой проект github , где вы можете наблюдать за всеми элементами в действии.

6
задан Cody Gray 13 August 2017 в 10:13
поделиться