CMake + найти пакет или проверить и установить - PullRequest
6 голосов
/ 10 февраля 2010

Я только что перешел на CMake. И все же нашел его очень полезным и реализовал несколько простых приложений и библиотек. Где-то я читал, что можно запросить git для извлечения репозиториев из скриптов cmake.

Я бы хотел проверить наличие пакета с помощью моей Find (package) .cmake Если он не существует, я бы хотел инициировать оформление заказа и добавить новый каталог в скрипт cmake в качестве подкаталога.

Таким образом, все мои зависимости будут установлены автоматически. Кто-нибудь знает, как реализовать эту идею? Спасибо!

Пока, Артур

Ответы [ 2 ]

4 голосов
/ 04 марта 2010

Возможно, вы думаете о модуле ExternalProject, добавленном в CMake 2.8. Он задокументирован на http://www.cmake.org/cmake/help/cmake-2-8-docs.html#module:ExternalProject со вступлением к нему на стр. 14 из http://www.kitware.com/products/archive/kitware_quarterly1009.pdf.. Он позволяет оформить заказ / загрузить проект и автоматически его построить.

1 голос
/ 10 февраля 2010

Я бы попытался найти пакет с помощью find_package, и если переменная package_FOUND не установлена, вы должны вызвать git вручную с помощью execute_process . Если исходный код уже содержит CMakeLists.txt, просто добавьте его с помощью add_subdirectory, в противном случае вам придется сначала написать собственные инструкции CMake для сборки этого пакета.

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