SCons ищут файлы в нескольких каталогах - PullRequest
0 голосов
/ 18 апреля 2019

Итак, я новичок в scons и у меня возникли проблемы с выяснением того, как я могу выглядеть в нескольких каталогах?

Это мой текущий подход, который отлично работает для одной папки:

files = File([
    'testfile.c',
    'testfile_const.c',
    'folder/testfile2.c',
    'folder/testfile2_const.c'

])


dir = Dir('.')
env.Append(CPPPATH = dir)
env.Prepend(CPPPATH = dir.srcnode())
Return('files')

Дело в том, что теперь, когда я поместил testfile2 в свою собственную папку, мой скрипт scons жалуется,Как я могу искать файлы в другом каталоге?

1 Ответ

0 голосов
/ 18 апреля 2019

Если вы хотите, чтобы все каталоги были частью CPPPATH, вам нужно будет добавить их явно.Это может быть сделано довольно просто с вашим текущим подходом, используя цикл for:

import os

# Use all C/C++ files in this folder
files = File([
    'testfile.c',
    'testfile_const.c',
    'folder/testfile2.c',
    'folder/testfile2_const.c'

])

# Add folder to search path
for file in files:
    dirpath = os.path.dirname(file.path)
    if not dirpath in env['CPPPATH']:
        env.Append(CPPPATH = [dirpath])

Return('files')
...