Включить сторонние библиотеки в дерево исходников - PullRequest
4 голосов
/ 14 февраля 2011

Мой проект CMake C ++ зависит от нескольких коммерческих библиотек (доступны только библиотеки и заголовки).Я хочу простой способ включить эти пакеты в мое дерево исходников.

Я попробовал следующие варианты:

  1. Используйте svn: externals и предоставьте эти библиотеки в третьей стороне папка исходного дерева.Плюсы: легко.Минусы: медленная загрузка, все или ничего.
  2. Имеет файл README, подробно описывающий, какой пакет требуется для какой опции в моем CMake.Разработчикам придется скачать и распаковать в нужное место.Плюсы: быстрая загрузка, выберите только необходимый пакет.Минусы: сложный.

Есть ли способ автоматически развернуть эти пакеты для разработчиков?

Рабочий процесс, который мне нужен:

  1. Разработчиквыберите опцию в CMake, например: USE_LIBRARY_A
  2. Удар разработчика Настроить
  3. Пакет загружен и помещен в нужное место в дереве исходных текстов
  4. Удар разработчика Создать
  5. Solution / Makefile готов к компиляции

Полагаю, то, что я хочу, похоже на easy_install в Python или rubygems в Ruby.

1 Ответ

1 голос
/ 14 февраля 2011

Требуемый рабочий процесс может быть достигнут путем добавления сторонних библиотек в виде CMake внешних проектов .

Команда ExternalProject_Add позволяет автоматически загружать, создавать и устанавливать сторонние библиотеки.

...