Ho un progetto che utilizza 3-4 diverse librerie C / C ++ open source.
Ho costruito queste librerie per diverse piattaforme e ho incluso i file e le librerie statiche per diverse piattaforme nel mio progetto.
Tuttavia, ho difficoltà con un paio di problemi. Tutti questi progetti riguardano la gestione delle dipendenze. E sto cercando consigli sulle migliori pratiche.
1) Come faccio a sapere che cosa esattamente uso?
Non ho un modo di ottenere una versione di una lib statica. Come risultato, ho bisogno di tracciare in qualche modo quale versione di lib statico sto usando (potrebbe essere SHA di un commit da cui è stato creato)?
Questo è particolarmente importante quando ho bisogno di capire quando aggiornare queste librerie.
2) Come riprodurre la build?
Avrei potuto faticare a costruire una libreria specifica per una piattaforma specifica. Mi ci è voluto un po 'per capirlo.
La prossima volta che avrò bisogno di costruire la stessa libreria potrebbe essere tra un anno e mezzo (quando avrò bisogno di aggiornare per qualsiasi motivo.) Tuttavia, a quel punto, non ricorderò assolutamente nulla e un ambiente in cui è stato costruito sarà finito da tempo.
3) Devo sborsare queste librerie per avere una copia del codice sorgente?
Questa è una preoccupazione minore. Tuttavia, è ancora una preoccupazione. È bello assicurarsi che le build siano riproducibili (e questo tipo richiede il codice sorgente).