scons - источник / пути включения - PullRequest
0 голосов
/ 01 июля 2010

Допустим, у меня есть такая структура каталогов:

  • SConstruct
  • src /
    • a.cpp
    • b.cpp
  • include /
    • ах
    • чч

в SConstruct Я не хочу указывать ['src / a.cpp', 'scr / b.cpp'] каждый раз;Я ищу какой-нибудь способ установить базовый исходный каталог в 'src'

любой намек?Я изучал документы, но не могу найти ничего полезного

1 Ответ

2 голосов
/ 01 июля 2010

Несколько вариантов для вас:

Во-первых, scons любит использовать файлы SConscript для подкаталогов. Поместите SConscript в src/, и он может ссылаться на локальные файлы (и будет генерировать вывод также в поддиректории сборки). Вы можете настроить свою среду один раз в SConstruct. Затем вы «загружаете» SConscript из вашего основного SConstruct.

SConscript('src/SConscript')

По мере роста вашего проекта управлять файлами SConscript в подкаталогах становится проще, чем помещать все в главную SConstruct.

Во-вторых, вот аналогичный вопрос / ответ , который может помочь - он использует Glob с очень простым примером.

В-третьих, поскольку это всего лишь Python, вы можете создать список файлов без префикса и использовать его для создания реального списка:

file_sources = [ 'a.c', 'b.c' ]
real_sources = [os.path.join('src', f) for f in file_sources]
...