Scons: один большой SContruct для всех против многих маленьких - PullRequest
1 голос
/ 09 августа 2011

Я перемещаю Code :: Blocks проектов в SCons.У меня есть дерево исходников со следующей структурой:

trunk
    lib1
    lib2
    libn
    app1
    app2
    appn

Это мой первый раз с Scons, и я пытаюсь выяснить, что было бы лучше - иметь много маленьких скриптов SConscripts в каждой папке приложения и библиотеки илиодин большой SContruct под стволом с разделами, описывающими источники, переключатели и команды pre / post build для каждого проекта.

Лично я предпочитаю иметь дело с одним файлом, но я хотел бы услышать мнение людей, имеющих опыт работы с SCons.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 09 августа 2011

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

С другой стороны, цели, которые необходимо разделить между различными файлами SConscript, иногда требуют большого количества символов Export() и Import() для связи друг с другом.

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

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

Подумайте об этом так:

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

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

...