Ultimamente sto guardando i sistemi di compilazione e non riesco a trovare nulla di simile a ciò che voglio. Considero troppo basso, non mi piace la sintassi di bjam e CMake, e davvero non mi piace che siano solo per C/C++. Ant e NAnt sono anch'essi orientati alla lingua.Strumenti di costruzione basati su Python
Mi piace molto l'idea di uno strumento di compilazione che utilizza un linguaggio di programmazione reale e Python si adatta perfettamente. Sono stato a guardare Scons e waf, e da questi 2 Trovo WAF come il più vicino a quello che voglio, ma ancora vedo un sacco di lavoro che deve essere fatto per sostenere tutto pianificato, quando dovrei concentrarmi sulla codifica.
Ecco quello che voglio:
include e le librerie (per C/C++, Java, C#, Python)
voglio usare diverse versioni di compilatori e sostenere diversa destinazione OS e architetture di CPU:
- per C/C++: MSVC, gcc (cygwin, minGW, versione linux), llvm-gcc, DragonEgg, Clang
- per C#:. Compilatore Net, Mono (per Windows e Linux) - tutti questi per diverse versioni .Net (come NAnt: 'net-2.0', 'net-3.5', 'net-4.0', 'mono-2.0 ', 'mono-3.5' ...)
voglio usare SWIG per sostenere la generazione wrapper per C#, Python, Lua, Java ecc
voglio più quindi solo di debug e rilascia le configurazioni - proprio come Visual Studio supporta questo molto facilmente. Esempio: progetto di libreria condivisa costruito MSVC per il wrapping C# e costruito con mingw per il wrapping Python, diverse versioni delle versioni di rilascio - con ottimizzazione non ottimizzata, completamente ottimizzata, produzione ...
Desidero considerare il progetto inseguimento. Spiegato: se ho un progetto di libreria condivisa che utilizza SWIG e un altro progetto C# che carica tale wrapping SWIG, la creazione di questa soluzione/ambiente/spazio di lavoro implicherebbe la copia della libreria condivisa risultante, copiando altre librerie condivise che quella libreria condivisa utilizza nel funzionamento directory, e il C# generato wrapper al progetto C#, e quindi generare il progetto C#
Nice-to-have: la distribuzione su altre macchine per test di rete
Nice-to-have: I don' mi interessa molto la generazione di file di progetto IDE (ad es. come fa CMake per Visual Studio), perché le versioni IDE e compatibili cambiano, e ci sono un sacco di IDE piacevoli (es.per C/C++ CodeBlocks, CodeLite, Eclipse CDT - tutti questi sono portatili su pen drive, VS no), ma Nice-to-have sarebbe l'integrazione di makefile - un makefile che chiama semplicemente makefile/script di questo strumento Build - visto qualcosa di simile per Scons
Guardando oltre quello che ho scritto penso ho chiesto troppo :), ma penso che questo servirà più di me
edit: dimenticato di dire, ma penso che sia implicito dall'uso di Python: voglio che lo strumento sia multipiattaforma
modifica: forse quello che sto cercando non è ancora implementato, ma potrebbe uscire da un waf extens a tutto questo, o Scons forse
+1 Bella domanda, cercavo esattamente la stessa cosa! – helpermethod
Qual è la domanda? Se qualcuno sa di un tale strumento di costruzione, che supporta tutte le funzionalità richieste, credo, ma potrebbe essere reso più chiaro. – unwind
@unwind: hai fatto un punto, mi spiego abbastanza duro, ma specifico –