SCons if / then заявление - PullRequest
       8

SCons if / then заявление

1 голос
/ 03 сентября 2011

У меня есть один файл SConscript в каталоге верхнего уровня, и у меня есть много подкаталогов с файлами JSON, содержащими разные пары ключ / значение.У меня есть один env.Command() в моем файле SConscript, который я хочу вызывать на основе значения определенного ключа.Каков наилучший способ сделать это в Scons?

Я думал что-то вроде:

env.Command(
    test = Value(params['json_key'])
    if test == "True":
        target = out.txt,
        source = in.txt,
        action = 'function $SOURCE $TARGET'
    else:
        pass
    )

1 Ответ

2 голосов
/ 03 сентября 2011

Это Python, вы не можете поместить if / else внутри чего-то подобного. Однако вы можете передать аргументы env.Command, используя словарь.

if Value(params['json_key']) == "True":
    kw = {
        'target': 'out.txt',
        'source': 'in.txt',
        'action': 'function $SOURCE $TARGET',
    }
else:
    kw = {}
env.Command(**kw)
...