ho bisogno di qualche consiglio nel seguente questione:SCons o CMake invece di qmake
Ho un progetto QT, che è attualmente impostato per funzionare bene con qmake. Tuttavia, a causa delle espansioni dei requisiti e delle future direzioni del progetto, ho bisogno di cambiare il sistema di costruzione di esso, poiché l'applicazione richiederà alcuni cambiamenti nel modo in cui sarà realizzata.
In questo momento ogni file sorgente è compilato in un file eseguibile piuttosto grande, questo è impacchettato (manualmente) e inviato all'area di download. Va tutto bene.
Ma la direzione che sto cercando è di modulare l'applicazione in modo che ogni "funzione" venga compilata in una libreria condivisa e l'utente (sviluppatore) sia in grado di scegliere i componenti che desidera compilare. Queste "caratteristiche" sono collocate nelle directory nell'albero dei sorgenti (ad esempio: query_builder, reverse_engineer, mysql_DB_support, version_managemen directories, ecc ...) e quando l'utente crea l'applicazione dice semplicemente al sistema di compilazione di compilare un'applicazione con il generatore di query e mysql, ma nessun reverse engineering e in questo caso il sistema di compilazione aggiunge i file sorgente dalla directory specificata e crea una lib da esso.
devo anche altri requisiti, quali:
- finestre costruire, Linux costruire
- opzionalmente pacchetto build (deb, rpm)
- sostegno QT e possibilmente QT5
- più eseguibili (GUI client, client CLI)
Dopo alcune "ricerche di mercato" ho finito con CMake e SCons come due possibili sy steli che potrei usare. Ho una certa esperienza di CMake e alcune esperienze con Python, ma non ancora SCons.
Ma non so quale sia il migliore per il mio caso, questo è il posto dove ho bisogno del vostro aiuto. Potresti elaborare quale dovrei usare? E se consideri che i miei requisiti siano realizzabili con qmake, ti prego di farmelo sapere,
Cheers, f.
Raccomando CMake per questo.Funziona alla grande con Qt su Windows (l'ho usato dal 2008 fondamentalmente per ogni progetto al lavoro e a casa) e Linux e supporta componenti opzionali come descrivi tu. Anche se con quello detto non uso scons quindi non posso confrontare. – drescherjm