cMake установить стороннюю библиотеку из подпроекта - PullRequest
0 голосов
/ 14 января 2020

Я пытаюсь настроить новый проект 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 ?

Спасибо за любую подсказку!

...