Как создавать проекты SCons с Eclipse CDT? - PullRequest
21 голосов
/ 27 июня 2009

У нас довольно большой проект C / C ++, использующий scons для сборки. Я хотел бы попытаться построить это через Eclipse-CDT. Любой, кто имеет опыт работы с этим, может рассказать мне, как настроить scons в качестве строителя. (НЕ используя плагин SConsBuilder, он не будет работать с Eclipse-CDT из Fedora-11).

Ответы [ 6 ]

16 голосов
/ 01 июня 2011

Один из наших студентов реализовал новую интеграцию SCons для Eclipse CDT, которая работает в двух направлениях, то есть он может импортировать файлы SCons и заполнять проекты Eclipse CDT соответствующими настройками, а также генерировать файлы SCons из настроек проекта Eclipse. Кроме того, он предоставляет интерактивный режим SCons, который значительно ускоряет создание дополнительных проектов SCons. Вскоре он будет выпущен бесплатно, см. http://sconsolidator.com

14 голосов
/ 19 августа 2009

Вы можете использовать Makefile, который просто делегирует важные цели scons

.PHONY: all clean install
default:    all
all:    
    scons
clean:
    scons -c
install:
    scons install

Тогда можно использовать «Стандартный проект Make C» из коробки.

11 голосов
/ 27 июня 2009

До этого момента я пробовал Waf в Eclipse CDT , SCons были бы действительно похожи. Решением было создать пустой проект Makefile, а затем просто изменить «make» на «scons» в опциях. В Windows, возможно, вам понадобится файл scons.bat на вашем пути. Это не намного лучше, чем создание фиктивного Makefile с шаблоном типа all:\n\tscons, но это наименьшая работа.

Плагин SConsBuilder не очень хорошая идея. Там есть целый набор жестко запрограммированного кода Python, который он выкладывает в SConstruct. Он давно не обновлялся, и большая часть кода, вероятно, устарела в SCons. Я думаю, что лучший подход - это делать то, что SCons делает для Visual Studio, или то, что CMake делает для Eclipse CDT. Это означает создание файла .cproject на лету на основе конфигурации вашей сборки.

В какой-то момент я написал генератор проектов Eclipse для Waf , который обходит узлы сборки, собирая исходные файлы, и выплевывает файлы .project и .cproject. Подобно тому, как это делает CMake, но поведение Waf по умолчанию при создании альтернативного каталога означает, что вам не нужно иметь дело с проблемами сборки вне исходного кода. С тех пор это было добавлено как дополнительный в самом waf . Он использует только часть Waf API, поэтому можно было бы преобразовать его в SCons с небольшим количеством работы. Другими словами, там ничего особенного нет. Формат .cproject на самом деле нигде не задокументирован и действительно ужасен по сравнению с версией Java.

Хотя я не слишком хорошо ладил с CDT - он далеко позади инструментов разработки Java - и я все еще использую Vim с :make, так что в итоге все было немного академично.

4 голосов
/ 10 мая 2012

Просто измените настройки компоновщика, плагины не требуются. Выберите внешнего компоновщика и установите scons вместо make, и установите workdir в каталог, в котором находится SConstruct.

Теперь вы можете использовать представление целей для создания команд сборки scons и выполнять их как команды make. Парсеры ошибок с scons работают нормально по умолчанию, дополнительная настройка не требуется.

1 голос
/ 20 августа 2012

http://sconsolidator.com/ Sconsolidator должен работать, хотя.

0 голосов
/ 14 мая 2012

Будьте ОЧЕНЬ ОЧЕНЬ осторожны при использовании Sconsolidator с существующим проектом! Он будет слепо перезаписывать любые существующие файлы SConstruct / SConscript, которые есть в корневом каталоге вашего проекта, когда вы щелкаете ссылку, чтобы добавить природу SCons в ваш проект. (Я пытаюсь сообщить об этом как об ошибке в проекте, но пока что меня блокируют на каждом шагу.)

...