Как настроить Find * .cmake для find_package в режиме модуля? - PullRequest
1 голос
/ 27 сентября 2019

У меня есть внешняя зависимость (заголовки и общие библиотеки, а также файл version.txt в известном месте установки) для моего проекта.Эта зависимость не имеет встроенной поддержки CMake find_package().После прочтения find_package() документов и этого ответа SO я понимаю, что мне следует использовать режим модуля для find_package().В каталоге Find*.cmake cmake я предполагаю, что он должен:

  1. Установить и проверить пути к заголовку и общим библиотекам
  2. Читать в файле версии
  3. Определение проекта с использованием текста файла версии
  4. Добавление цели библиотеки интерфейса (${PROJECT_NAME})
  5. Добавление псевдонима в библиотеку интерфейса с использованием пространства имен (${MY_NAMESPACE})
  6. Добавление цели библиотеки для каждого пути к общей библиотеке
  7. Установка свойства импортированного пути для каждой общей библиотеки
  8. Связывание общих библиотек с целью библиотеки интерфейса
  9. Ссылкакаталог include для целевой библиотеки интерфейса
  10. export(TARGETS ${PROJECT_NAME} NAMESPACE ${MY_NAMESPACE}::)
  11. export(PACKAGE ${PROJECT_NAME})
  12. Прибыль?

Я делаю это правильно и /или правильный подход?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...