Mi stavo chiedendo quale sia il modo migliore per organizzare il mio codice sorgente. Stavo facendo ricerche su SO e ho trovato link ma questo layout del codice sorgente è specifico della biblioteca e non copre la mia situazione.
La mia situazione:
- 10 moduli propri (100k righe di codice)
- 15 librerie esterne (ad es. boost, sqlite, zlib, ecc.)
- 2 moduli critici devono essere disponibili solo per gli sviluppatori selezionati (forse separati da repository git?) Il progetto
- è multipiattaforma (Linux e Windows)
- Git come sistema di controllo della versione
- cmake utilizzato per costruire il progetto
Domanda:
- ha senso incorporare tutte le librerie nel mio progetto, ad es. nella cartella _3rd_party_libs_?
- come gestire i percorsi include lib nei miei moduli (variabile ambientale, percorsi relativi, sottomoduli git, ecc.)?
- dovrei sempre creare librerie esterne dal sorgente o semplicemente usare i loro binari?