Я строил кросс-платформенные приложения, используя С++ и CMake. К сожалению, многие библиотеки не включают описания проекта CMake. Например, поддерживаемые Google проекты часто используют GYP.
Вот некоторые из подходов, которые я предпринял для этой проблемы:
- Найти описание проекта CMake для библиотеки в Интернете
- Напишите описание проекта с помощью CMake
Поиск или запись описаний CMakeLists.txt для библиотек - проблема обслуживания. По мере обновления библиотеки так же должно быть и описание CMake. Кроме того, файлы проекта, созданные авторами библиотеки, скорее всего будут правильными.
Как конкретно я должен интегрировать проекты GYP в мое программное обеспечение на основе CMake? Является ли дублирование описания проекта в CMake лучшим подходом или есть какая-то особенность CMake, которую я пропускаю?
Каковы некоторые общие подходы к решению этого класса проблем в CMake? Что относительно библиотек, которые включают в себя набор файлов проекта для различных платформ /IDE? Предоставляет ли CMake способ интеграции этих проектов в мои?