Постройте несколько проектов CDT С++ из командной строки

Какое лучшее решение для сборки нескольких проектов CDT С++ из командной строки? Проекты имеют ссылки, поэтому невозможно просто создать отдельные проекты.

Ответ 1

Эта функция была добавлена ​​в CDT 6 (Final build, которая должна состояться 15 июня 2009 года). Вы можете скачать кандидат окончательной версии на странице сборки: download.eclipse.org/tools/cdt/builds/6.0.0/.

Используя выпуск Eclipse 3.5 + CDT 6, вы можете импортировать, строить и очищать проекты и рабочую область, используя следующие параметры, отправленные в Eclipse в командной строке:

eclipse -nosplash 
        -application org.eclipse.cdt.managedbuilder.core.headlessbuild 
        -import {[uri:/]/path/to/project} 
        -build {project_name | all} 
        -cleanBuild {projec_name | all}

В Windows используйте eclipsec.exe вместо eclipse.exe, чтобы получить вывод сборки, записанный в stdout/stderr, и чтобы блокировки вызовов до завершение.

Переключатель '-application' инструктирует Eclipse запускать создатель безгласного CDT вместо запуска рабочего места. Другие переключатели могут использоваться индивидуально или вместе. Это означает, что вы можете проверить проект, используя собственную оболочку script, "импортировать" ее в рабочую область и "-строить" ее с помощью конструктора без заголовка Managedbuilder.

Используйте переключатель '-data', чтобы указать рабочее пространство, которое может быть пустым временным каталогом, см. документацию по runtime для других коммутаторов, поддерживаемых платформой runtime: help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/runtime-options.html

См. ошибка 186847 комментарий 24 и далее для более подробной информации о совершенных функциях.

Ответ 2

Pre CDT 6 вы можете использовать JDT AptBuilder (например, в классическом Eclipse).

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

Ответ 3

Если вы создали проект Make в CDT, вы можете просто использовать свою любимую оболочку и выполнить make во всех проектах dirs.

Ответ 4

Головная сборка с управляющим компоновщиком в настоящее время не поддерживается, см. ошибка 186847 - внутренний конструктор CDT не поддерживает автоматические сборки командной строки.

Если вы используете неуправляемый (make) -строитель, то у вас уже есть Make файлы, которые вы можете использовать из командной строки.

Ответ 5

Мы делаем это в нашей существующей сборке.

Поместите make файл во все ваши внешние ссылки и ваш проект верхнего уровня. В правиле "все" запустите: make -C./externalref1 make -C./externalref2 и т.д.

мы фактически определяем внешние зависимости в переменной: EXT_DEP = externalref1 externalref2 затем используйте команду subst (substitute), чтобы запустить все суб-элементы, используя правильный вызов.