Как интегрировать PreMake / CMake в рабочий процесс сборки C ++ - PullRequest
5 голосов
/ 02 марта 2012

Я сейчас смотрю на PreMake / CMake.Тем не менее, я не вижу, как это можно использовать во всем кроссплатформенном процессе сборки.Действительно, он генерирует make-файлы (или решения).Тогда как вы на самом деле строите эти решения на каждой целевой платформе?Нужно ли поддерживать один сценарий сборки для каждой цели (например, файл .sh или .bat)?В первую очередь это лишило бы смысла использование такого инструмента, как premake / CMake.

Ссылка на учебное пособие, показывающее весь процесс от кодирования до готового продукта с использованием premake, была бы великолепной.

Спасибо за любую помощь.

1 Ответ

6 голосов
/ 04 марта 2012

Наша основная разработка также ведется на C ++. Мы используем CMake + ANT. VisualStudio для Windows, XCode для Mac и iOS. Некоторые инструменты сборки написаны на Python.

Работает довольно плавно. У нас есть модульные и низкоуровневые тесты компонентов, запускаемые прямо из сборки (используя механизм CTest CMake, с которым мы немного поработали - CMake - это Open Source). Компоненты и системные тесты более высокого уровня выполняются с помощью специально созданной среды, написанной на C # (у нас были большие споры, использовать ли что-то готовое или написать свое, в конце мы решили, что любая готовая инфраструктура мы должны были бы измениться так сильно, что стоило бы написать нашу собственную с нуля; мне все еще интересно, было ли это правильным решением).

Мы связываем вещи вместе с ANT - в основном используем вызовы на самом низком уровне, но также используем хорошо известные расширения (такие как ftp и svn ). Наш CI работает на Jenkins, который связывается с нижними уровнями сборки через ANT.

...