Есть ли подобный virtualenv инструмент для C++?

Я обнаружил проблему с тестовой средой в проблеме C++.

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

Проблема возникает, когда мы добавляем новую зависимость в наш проект. Мы разрабатываем много функций одновременно, и это довольно распространенное явление. В этом случае мы должны консультировать тестировщиков и давать им простой способ воспроизвести среду компиляции...

И я подумал, есть ли другой простой способ пройти через это... не знаю, какой-нибудь инструмент, такой как virtualenv или buildout для python...

Я искал в Google, но безуспешно.

Любая помощь будет оценена.

2 ответа

Вы всегда можете добавить все зависимости в систему контроля версий и предоставить автоматические сценарии, которые установят необходимые подсистемы. Где я работаю, если вы просто загружаете текущую версию из репозитория, вы можете за один шаг создать образ ISO, который может быть установлен тестировщиками на любом компьютере, который они захотят. Образ содержит все, от ОС до приложения.

В зависимости от вашей конкретной ситуации, вы можете начать с более мелких шагов, таких как добавление зависимостей в репозиторий и тестирование там, чтобы проверить наличие нового файла или изменение версии.

Нет готового инструмента, AFAIK, кроме, может быть, для CMake, который может контролировать такие вещи для вас.

Для C++ довольно легко управлять "вручную", поскольку вы можете установить переменные окружения LIB, LIBPATH и PATH для тщательно отобранных каталогов. Нет site.py, яиц, файлов.pth и тому подобного, как в Python.

Мы делаем это в нашем магазине, тщательно настраивая нашу среду сборки / разработки, и все в контроле версий (в основном скрипты, которые загружают огромные архивы готовых библиотек и распаковывают их в нужных местах).

Маленькие библиотеки копируются в обычные каталоги, крупные получают свои собственные записи в env-vars.

Это работает одинаково хорошо для Python и Java. Еще не пробовал другие языки... пока.:)

Другие вопросы по тегам