Мы разрабатываем улучшенную версию действия SCons для файлов C / C ++, которая использует зависимости, уже найденные встроенным сканером C / C ++, для автоматического создания списка каталогов, который помещается в CPPPATH
,
Наше текущее решение использует рекурсивные вызовы get_found_includes()
определяется в
http://www.scons.org/doc/2.3.4/HTML/scons-api/SCons.Node.Node-class.html#get_found_includes
Однако мы получаем исключения из этой логики, жалуясь на path
аргумент отправлен get_found_includes()
являющийся None
, Эти вызовы вызываются где-то глубже в логике SCons (рекурсии), а не напрямую нашими собственными вызовами get_found_includes
,
Обратите внимание, что нас интересуют только кэшированные зависимости, уже рассчитанные соответствующим сканером. Было бы неплохо иметь вариант get_found_includes()
которые возвращают только эти узлы без необходимости угадывать правильное значение аргумента path
,
Дальше как get_implicit_deps()
определяется в
http://www.scons.org/doc/2.3.4/HTML/scons-api/SCons.Node.Node-class.html#get_implicit_deps
отличаться от get_found_includes
в этой связи? Я прочитал их описания пару раз, но не могу понять разницу их значений.
Есть ли лучший способ решить эту проблему?
Если мы захотим взломать это вместе, я думаю, что все зависимости хранятся в графе как свойства узла, которые можно обойти.
Задача ещё не решена.