2012-06-13 26 views

risposta

8

Un approccio migliore sarebbe quella di utilizzare l'obiettivo e il() costruttore di comando, in questo modo:

prgTarget = env.Program("program_name", [ "file1.cc", "file2.cc" ]) 
Command(target = "../program_name", 
     source = prgTarget, 
     action = Copy("$TARGET", "$SOURCE")) 

O a seconda della situazione, utilizzare il Install() builder, in questo modo:

prgTarget = env.Program("program_name", [ "file1.cc", "file2.cc" ]) 
Install("../program_name", source = prgTarget) 
+0

+ 1 Questo sembra un buon lavoro per il builder di installazione. L'utilizzo di un generatore di comandi sembra complicare il codice. Conosci qualche situazione in cui una build di comandi avrebbe dei vantaggi? – daramarak

+0

@daramarak, il builder Command() è più flessibile, in quanto può essere qualsiasi comando, come script, ecc. Il builder Install() è solo per "installare" (copiare) uno o più file/target. – Brady

+0

So che il builder Comando è flessibile, ma mi chiedevo se ci fossero casi in cui un generatore di comandi dovrebbe essere preferito per copiare un file invece del generatore di installazione? – daramarak

Problemi correlati