Ich habe ein scons-Projekt, das mehrere Header-Dateien als Compiler-Flag zwangsweise einschließt.
# Forced include files passed directly to the compiler
env.Append(CCFLAGS = ['/FIinclude.h'])
Diese Dateien sind nicht in den Dateien des Projekts enthalten. Ich muss eine explizite Abhängigkeit für sie hinzufügen.
forced_include_headers = ['include.h']
# Trying to add an explicit dependency for each build target
for object in BUILD_TARGETS:
env.Depends(object, forced_include_headers)
Das Problem, auf das ich stoße, ist, dass BUILD_TARGETS
Liste ist leer. Sie scheint nur Dinge zu enthalten, die von COMMAND_LINE_TARGETS
o DEFAULT_TARGETS
. Alle Ziele in unserem Projekt werden implizit erstellt. Wir machen keinen Gebrauch von env.Default
, usw. Gibt es eine Möglichkeit, die implizite Zielliste zu erhalten, oder muss ich sie manuell erstellen? Ich habe festgestellt, dass TARGETS
ist reserviert und scheint auch nicht das zu enthalten, was ich will.
Ich kann eine env.Depends(target, forced_include_headers)
für alle Ziele in ihren jeweiligen SConscript-Dateien, aber das Projekt ist recht groß.