Я пытаюсь настроить новый проект cMake, который создает две библиотеки. Базовая библиотека libCore.dll , которая зависит от дополнительных сторонних библиотек и de libWrap.dll , которые используют библиотеку libCore и, конечно, требуют сторонних библиотек.
Для установки libCore я добавил следующие две команды установки, в результате чего появилась папка libCore, содержащая библиотеку и зависимости:
install(TARGETS libCore
CONFIGURATIONS Release
PUBLIC_HEADER
DESTINATION "libCore/include"
RUNTIME
DESTINATION "libCore/bin"
RESOURCE
DESTINATION "libCore/bin"
LIBRARY
DESTINATION "libCore/lib"
ARCHIVE
DESTINATION "libCore/lib"
)
install(FILES ${THIRD_PARTY_LIBRARIES}
CONFIGURATIONS Release
DESTINATION "libCore/bin"
)
Пока все хорошо. Теперь, когда я использую эту библиотеку в дополнительной цели libWrap (в том же проекте cMake), я могу успешно ссылаться на них и создавать библиотеку. Я установил libWrap с помощью следующей команды:
install(TARGETS libWrap libCore
CONFIGURATIONS Release
PUBLIC_HEADER
DESTINATION "libWrap/include"
RUNTIME
DESTINATION "libWrap/bin"
RESOURCE
DESTINATION "libWrap/bin"
LIBRARY
DESTINATION "libWrap/lib"
ARCHIVE
DESTINATION "libWrap/lib"
)
Эта установка успешно установит libWrap в каталог libWrap и скопирует также libCore, К сожалению, сторонние зависимости, которые были установлены с instal(FILE ...)
, не устанавливаются в каталог libWrap.
Кто-нибудь знает, как я могу объявить, что сторонний бинарный файл необходим и автоматически установлен с целью libCore ?
Спасибо за любую подсказку!