Интеграция проекта CMake с библиотеками на основе GYP

Я строил кросс-платформенные приложения, используя С++ и CMake. К сожалению, многие библиотеки не включают описания проекта CMake. Например, поддерживаемые Google проекты часто используют GYP.

Вот некоторые из подходов, которые я предпринял для этой проблемы:

  • Найти описание проекта CMake для библиотеки в Интернете
  • Напишите описание проекта с помощью CMake

Поиск или запись описаний CMakeLists.txt для библиотек - проблема обслуживания. По мере обновления библиотеки так же должно быть и описание CMake. Кроме того, файлы проекта, созданные авторами библиотеки, скорее всего будут правильными.

Как конкретно я должен интегрировать проекты GYP в мое программное обеспечение на основе CMake? Является ли дублирование описания проекта в CMake лучшим подходом или есть какая-то особенность CMake, которую я пропускаю?

Каковы некоторые общие подходы к решению этого класса проблем в CMake? Что относительно библиотек, которые включают в себя набор файлов проекта для различных платформ /IDE? Предоставляет ли CMake способ интеграции этих проектов в мои?

Ответы

Ответ 2

Не уверен, что вывод полезен для ваших целей, но gyp может генерировать проекты Cmake gyp -f cmake mygypfile.gyp. Ваш CMakeLists.txt будет находиться в out/[Configuration] (настройка может быть Debug, Release и т.д.)