Ответ 1
Используйте модуль ExternalProject
http://www.cmake.org/cmake/help/v3.0/module/ExternalProject.html
Я строил кросс-платформенные приложения, используя С++ и CMake. К сожалению, многие библиотеки не включают описания проекта CMake. Например, поддерживаемые Google проекты часто используют GYP.
Вот некоторые из подходов, которые я предпринял для этой проблемы:
Поиск или запись описаний CMakeLists.txt для библиотек - проблема обслуживания. По мере обновления библиотеки так же должно быть и описание CMake. Кроме того, файлы проекта, созданные авторами библиотеки, скорее всего будут правильными.
Как конкретно я должен интегрировать проекты GYP в мое программное обеспечение на основе CMake? Является ли дублирование описания проекта в CMake лучшим подходом или есть какая-то особенность CMake, которую я пропускаю?
Каковы некоторые общие подходы к решению этого класса проблем в CMake? Что относительно библиотек, которые включают в себя набор файлов проекта для различных платформ /IDE? Предоставляет ли CMake способ интеграции этих проектов в мои?
Используйте модуль ExternalProject
http://www.cmake.org/cmake/help/v3.0/module/ExternalProject.html
Не уверен, что вывод полезен для ваших целей, но gyp может генерировать проекты Cmake gyp -f cmake mygypfile.gyp
. Ваш CMakeLists.txt
будет находиться в out/[Configuration]
(настройка может быть Debug, Release и т.д.)