SCons: сделать Substfile зависимым от Install - PullRequest
0 голосов
/ 05 февраля 2019

Я генерирую некоторые оболочки csharp с помощью swig и устанавливаю их в каталог.
После установки этих файлов я хочу использовать env.Substfile для замены public enum на internal enum.
Дело в том, что нетНезависимо от того, от чего я установил Substfile, он всегда выполняется до установки оболочек

Вот часть скрипта:

install = Install(bins, wrapper_bins)
script_dict = {'public enum': 'internal enum'}
for f in Glob(wrapper_dir.abspath+'/*.cs'): # tried also without the filter
    sub = env.Substfile(f, SUBST_DICT = script_dict)
    Depends(sub, install)

Как убедиться, что Substfile всегда будет выполняться только после выполнения Install?

Вот обновленный код (все еще не работает)

env['WRAPPER_DIR'] = "c:\\dev\\test\\"
script_dict = {'public enum': 'internal enum'}
for f in Glob(wrapper_dir.abspath+"/*"):
    sub = env.Substfile("${WRAPPER_DIR}/${SOURCE.file}", f, SUBST_DICT = script_dict)
    Depends(installed_bins, sub)

SCons версия 3.0.1

1 Ответ

0 голосов
/ 08 февраля 2019

Попробуйте это:

installed_bins = Install(bins, wrapper_bins)

env['WRAPPER_DIR']='some path'
script_dict = {'public enum': 'internal enum'}
for f in Glob(source_path_for_cs_s+"*.cs"):
    sub = env.Substfile("${WRAPPER_DIR}/${SOURCE.file}", f, SUBST_DICT = script_dict)
    depends(installed_bins, sub)
...