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